Kubernetes仪表板

时间:2019-09-21 14:54:02

标签: kubernetes

我已经能够在Centos 7服务器上成功设置kubernetes。 遵循documentation之后,尝试运行“ kubectl代理”以使仪表板工作 尝试使用127.0.0.1:9001而不是我的服务器IP运行。这是否意味着我无法访问服务器外部的kubernetes仪表板? 我需要有关使用公共IP运行仪表板的帮助

2 个答案:

答案 0 :(得分:0)

据我了解,您想从笔记本电脑访问仪表板。您应该做的是创建一个名为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)主文件中复制到您的~/.kube目录中。

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

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

现在启动代理:

$ kubectl proxy

现在通过以下方式打开仪表板:

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

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

您可以遵循此tutorial

答案 1 :(得分:0)

您可以指定cmp的运行地址,即

kubectl proxy

您还可以使用端口转发来访问仪表板。

kubectl proxy --address <EXTERNAL-IP> -p 9001
Starting to serve on 100.105.***.***:9001

这将侦听所有地址上的端口8888,并将流量直接路由到您的Pod。

例如:

kubectl port-forward --address 0.0.0.0 pod/dashboard 8888:80

在另一个正在运行的终端

rsha:~$ kubectl port-forward --address 0.0.0.0 deploy/webserver 8888:80
Forwarding from 0.0.0.0:8888 -> 80