我已经按照here所述在Kubernetes 1.13集群上安装了Kubernetes Dashboard:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
我还配置了仪表板以不安全地提供其内容,因为我想通过Ingress
上的https://my-cluster/dashboard
公开它,而TLS连接将在入口控制器处终止。
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 ]
。这使我可以通过HTTP在服务的群集IP地址和端口80(尚未配置[ --enable-insecure-login ]
上)从群集节点与仪表板联系。
我还按照here的说明创建了一个示例用户,并提取了其令牌。令牌的工作原理例如在Ingress
中,因此它显然拥有kubectl --token $token get pod --all-namespaces
特权。但是,如果我在仪表板的登录屏幕中输入相同的令牌,则会显示“身份验证失败。请重试。”。
可能是什么原因?如何进一步诊断和解决问题? (仪表板的日志目前无法提供任何帮助。)
更新,如果我保留仪表板的标准配置(即用于通过HTTPS进行安全访问),则接受相同的令牌。