尝试使用 SSH 代理从远程笔记本电脑访问 Kubernetes 仪表板时出现 404 错误

尝试使用 SSH 代理从远程笔记本电脑访问 Kubernetes 仪表板时出现 404 错误

我在远程私有云上有一个远程集群,我只能通过 SSH 访问该集群(没有 GUI)。我使用以下命令启动了代理服务器:

kubectl proxy --address=0.0.0.0 --accept-hosts=.*

并使用以下命令启动到远程 K8s 主服务器的本地 SSH 代理:

ssh -L 8001:127.0.0.1:8001 -N -f $MASTER_IP

我可以通过本地笔记本电脑上的以下地址访问仪表板:

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login

对于令牌,我创建了一个 CluserRoleBinding 并使用检索令牌(您可以在此处的回复中找到详细说明关联):

kubectl describe secret $ROLE-TOKEN

但一旦我点击登录,我就会得到:

404 Not found. The server could not find the requested resource.

造成这种情况的原因是什么以及如何解决它?

技术细节:

OS: Debian 10
Kubernetes installed with Kubespray
Kubespray version: 2.12.0
Kubernetes version: 1.16.3
Dashboard version: 1.10.1

答案1

Dashboard 版本 1.10.1 与 Kubernetes 版本 1.16 存在冲突(来源) 其中仪表板令牌认证不起作用。

为了修复此问题,您应该使用与 Kubernetes 1.16 兼容的仪表板版本 2.0.0-x。 这里您可以选择安装与1.16兼容的版本。

如果有帮助的话请告诉我。

相关内容