无法访问kubernetes仪表板

时间:2017-02-07 18:31:07

标签: kubernetes dashboard

我按照本指南link安装kubernetes群集,我没有错误,但我无法访问kubernetes-Dashboard

我做到了 kubectl create -f https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard.yaml 当我去https://192.168.11.20/ui时什么都没有

我如何访问仪表板?

一些其他信息

[root@kubeMaster ~]# kubectl get nodes
NAME        STATUS    AGE
kubenode1   Ready     6h
kubenode2   Ready     6h

[root@kubeMaster ~]# kubectl get pods
No resources found.

[root@kubeMaster ~]# kubectl describe svc kubernetes-dashboard --namespace=kube-system
Name:           kubernetes-dashboard
Namespace:      kube-system
Labels:         app=kubernetes-dashboard
Selector:       app=kubernetes-dashboard
Type:           NodePort
IP:         10.254.81.213
Port:           <unset> 80/TCP
NodePort:       <unset> 31785/TCP
Endpoints:      <none>
Session Affinity:   None
No events.

[root@kubeMaster ~]# kubectl get deployment kubernetes-dashboard --namespace=kube-system
NAME                   DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
kubernetes-dashboard   1         0         0            0           6h

[root@kubeMaster ~]# kubectl --namespace=kube-system get ep kubernetes-dashboard
NAME                   ENDPOINTS   AGE
kubernetes-dashboard   <none>      6h

[root@kubeMaster ~]# kubectl cluster-info
Kubernetes master is running at http://kubeMaster:8080

[root@kubeMaster ~]# kubectl get ns
NAME          STATUS    AGE
default       Active    6h
kube-system   Active    6h

[root@kubeMaster ~]# kubectl get ep
NAME         ENDPOINTS            AGE
kubernetes   192.168.11.20:6443   6h

6 个答案:

答案 0 :(得分:5)

192.168.0.0/16是私有IP范围,这意味着您需要在群集网络中访问它。

在群集外部访问服务的最简单方法是运行kubectl proxy,它会将对localhost端口8001的请求代理到Kubernetes API服务器。从那里,apiserver可以代理您的服务:

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

答案 1 :(得分:4)

我知道这是一个老问题,但我们花了几个小时寻找解决方案。太傻了...... 将它发布给下一个角落......

当您启动代理并浏览到127.0.0.1:8080/ui/时,您将被重定向到以下网址:

http://127.0.0.1:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy

在我们的案例中,这个网址被打开为白色空屏幕。 问题是这个网址最后缺少斜线。添加之后,everething就像魅力...... :(

http://127.0.0.1:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy/

答案 2 :(得分:0)

要实际查找带仪表板的pod,您应该运行

kubectl get pods --all-namespaces --show-all

kubectl get pods --namespace=kube-system

从我们在您的输出中看到的内容,您可以运行kubectl proxy(已经描述过)或只是转到http://{any_node}:31785

您拥有Type: NodePort的信息中心服务,这意味着可以在此群集中的任何节点上NodePort访问该服务。

答案 3 :(得分:0)

它实际上并没有运行。如果是的话,你的部署&#34;得到部署&#34;结果将返回1而不是0&#39; s。

尝试执行kubectl describe deployment kubernetes-dashboard --namespace=kube-system这将是您进行问题排查的第一步。在结果的最后,它可能在事件中有所作为。

您可能还需要查看pod的日志内容,具体取决于部署查询的结果。

答案 4 :(得分:0)

使用:

kubectl proxy

您可以通过以下哪个方式访问仪表板:

localhost:8001

答案 5 :(得分:0)

1个用于ssh的连接主节点和config ssh隧道,如下所示:

ssh tunnel config

2启动Kubectl代理 kubectl proxy

3在localhost,使用http url访问仪表板 http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/about?namespace=default