我已经在Kubernetes 1.13 集群上安装了 Kubernetes Dashboard,如下所述:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
我还配置了仪表板以不安全地提供其内容,因为我想通过TLS 连接将在入口控制器处终止的位置Ingress
公开它。https://my-cluster/dashboard
- 我
service/kubernetes-dashboard
在命名空间中进行了编辑,kube-system
并ports
从更改{port:443, targetPort:8443}
为{port:80, protocol:TCP, targetPort:9090}
. - 我已经
deployment/kubernetes-dashboard
在命名空间中进行了编辑,kube-system
并ports
从更改{containerPort: 8443, protocol:TCP}
为{containerPort: 9090, protocol:TCP}
(并且livenessProbe
类似地)。我也args
从[ --auto-generate-certificates ]
改为[ --enable-insecure-login ]
。
这使我可以通过 HTTP 在服务的集群 IP 地址和端口 80(Ingress
尚未配置)上从集群节点联系仪表板。
我还按照此处的说明创建了一个示例用户并提取了它的令牌。该令牌例如在 中工作kubectl --token $token get pod --all-namespaces
,因此它显然拥有cluster-admin
特权。但是,如果我在仪表板的登录屏幕中输入相同的令牌,我会收到“身份验证失败。请重试。”。
可能是什么原因?如何进一步诊断和解决问题?(此时仪表板的日志不提供任何帮助。)
更新如果我保留仪表板的标准配置(即通过 HTTPS 进行安全访问),则接受相同的令牌。