Kubernetes 仪表板不可用

Kubernetes Dashboard is not available

这是我第一次安装 Kubernetes 并试图了解它是如何工作的。我无法解决的第一个问题是通过访问文档中的 URL 使用 proxy 通过 HTTP 协议打开仪表板:

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

浏览器的响应是:无法访问此站点。 Localhost 拒绝连接。


关于我的环境的一点点!

我开始使用的虚拟机配备了:

  1. Master: 2 VCPU, 4GB RAM, Ubuntu 18.04
  2. Worker1:1 个 VCPU,2GB 内存,Ubuntu18.04
  3. Worker1:1 个 VCPU,2GB 内存,Ubuntu18.04

全部运行连接到专用网络。

到目前为止,我已经按照 installing kubeadm. Than created a single control-plane cluster with kubeadm 的说明设置生产环境,但还没有加入任何节点。

我创建的环境是:


似乎都运行宁。

我能做的就是在加载时看到一些响应

https://master-IP:6443/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

所以我不能 open/load Kubernetes Dashboard UI 通过 official Kubernetes Dashboard documentation.

使用基于 HTTP 协议的代理

P.S。在设置新用户以使用与该用户绑定的不记名令牌登录仪表板时,我不清楚一件事。 namespace的值不应该根据changelog of v2.0.0-beta1kube-system改为kubernetes-dashboard吗?

我不确定为什么您使用代理看不到它。但是,我能够使用 NodePort 在我的一个 VM 的一个 IP 上公开 Dashboard。您需要编辑 Dashboard 的服务并将 'ClusterIP' 替换为 'NodePort'。

我看到您想从笔记本电脑访问仪表板。你应该做的是创建一个名为 k8s-admin 的管理员帐户:

$ kubectl --namespace kube-system create serviceaccount k8s-admin
$ kubectl create clusterrolebinding k8s-admin --serviceaccount=kube-system:k8s-admin --clusterrole=cluster-admin

然后在您的笔记本电脑/工作站上设置 kubectl: 例如,对于 macOS,它看起来像这样(参见 documentation):

$ brew install kubernetes-cli

为您的工作站设置代理。在你的笔记本电脑上创建一个 ~/.kube 目录,然后将 ~/.kube/config 文件从 k8s (Kubernetes) master scp 到你的 ~/.kube 目录。

然后获取连接到仪表板所需的身份验证令牌:

$ kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep k8s-admin | awk '{print }')

保存此令牌,您将需要它来访问 Kubernetes 仪表板。现在启动代理:

$ kubectl proxy

现在转到以下位置打开仪表板:

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

您应该会看到 Token 选项,然后复制粘贴上一步中的令牌并登录。

你可以关注这个tutorial

看起来您正在尝试通过笔记本电脑在本地访问您的 kubernetes 集群,它正在抛出“无法访问此站点。本地主机拒绝连接。”。

您将需要创建一条从本地计算机到您要放入示例隧道命令的实例的隧道 ssh -N -L 8001:127.0.0.1:8001 user@ipadress