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