【发布时间】:2020-04-19 02:09:56
【问题描述】:
当我尝试从本地笔记本电脑访问 Kubernetes 仪表板服务时,我收到无法访问站点的消息。
程序如下:
我按照以下链接中的文档进行操作,
https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/
我在我的本地机器上创建了包含一个主节点和一个工作节点的集群。每台机器都是ubuntu 16.04。我安装了 kubectl 并从我的控制 vm 访问这个集群,我在其中运行 Jenkins 用于 ci/cd 管道。从这个控制虚拟机中,我按照文档中的说明绑定了集群角色并部署了 Kubernetes 仪表板。
我运行以下命令,使用 kuectl 命令(在集群外)从我的控制 vm 部署默认仪表板服务:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
我使用以下内容创建了角色绑定 yaml dashboard-adminuser.yaml,
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
并使用以下命令创建了这个:
kubectl apply -f dashboard-adminuser.yaml
使用以下命令访问令牌:
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
并运行以下命令来提供仪表板服务:
kubectl proxy
当我运行显示“Starting serving on 127.0.0.1:8001”的命令时。
我尝试通过将以下 URL 放在浏览器上来访问仪表板,
http://192.168.16.170:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
但我只收到无法访问网站的消息。
更新
现在我正在尝试通过将仪表板服务类型编辑为NodePort类型来使用NodePort机制进行访问。当我尝试访问 URL 时,我收到“您的连接不是私有的”之类的错误。我在下面添加截图,
我哪里出错了?
【问题讨论】:
-
来自度量服务器和仪表板 pod 的日志说明了什么?
-
@ArghyaSadhu - 我没有为我的仪表板找到任何 pod 或服务。这就是我的问题。当我运行
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml时,我也没有收到任何错误。因为我添加了我在上面逐步实现的每个步骤。运行 kubectl 代理后,它显示开始在 127.0.0.1:8001 上服务。 -
Kubectl get pods -n kubernetes-dashboard 应该给你 pods 然后检查 pods 的日志
-
@ArghyaSadhu - 当我尝试命令
kubectl get pods时,它没有列出。现在我明白了,我更新了有问题的结果。它显示它处于运行状态。你能检查编辑的问题吗? -
这是什么意思 kubectl logs kubernetes-dashboard-5996555fd8-rdjn7 -n kubernetes-dashboard
标签: kubernetes dashboard