1

我已经在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-systemports从更改{port:443, targetPort:8443}{port:80, protocol:TCP, targetPort:9090}.
  • 我已经deployment/kubernetes-dashboard在命名空间中进行了编辑,kube-systemports从更改{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 进行安全访问),则接受相同的令牌。

4

0 回答 0