【发布时间】:2020-03-19 05:59:23
【问题描述】:
有许多指南、答案等...专门展示了如何启用 kubernetes 仪表板,还有一些试图解释如何远程访问它们,但是很多人在获得令牌后会遇到问题到登录屏幕。
据我了解,问题在于该服务不(正确地)通过 http 接受远程令牌。即使我可以进入登录屏幕,由于无法使用令牌,我也无法进入仪表板。我怎样才能绕过这个限制?
【问题讨论】:
标签: kubernetes kubernetes-dashboard
有许多指南、答案等...专门展示了如何启用 kubernetes 仪表板,还有一些试图解释如何远程访问它们,但是很多人在获得令牌后会遇到问题到登录屏幕。
据我了解,问题在于该服务不(正确地)通过 http 接受远程令牌。即使我可以进入登录屏幕,由于无法使用令牌,我也无法进入仪表板。我怎样才能绕过这个限制?
【问题讨论】:
标签: kubernetes kubernetes-dashboard
取自https://www.edureka.co/community/31282/is-accessing-kubernetes-dashboard-remotely-possible:
您需要使来自远程主机的请求看起来像是来自本地主机(仪表板正在运行的地方):
从运行 kubernetes/dashboard 的系统:
部署仪表板 UI:
kubectl 应用 -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta6/aio/deploy/recommended.yaml
启动代理:
kubectl 代理&
创建一个秘密:
kubectl create serviceaccount [账户名]
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=default:[账户名]
kubectl 获取秘密
kubectl describe secret [帐户名]
从您希望访问仪表板的系统:
创建到远程系统(运行仪表板的系统)的 ssh 隧道:
ssh -L 9999:127.0.0.1:8001 -N -f -l [远程系统用户名] [远程系统的ip地址] -P [你正在运行ssh的端口]
除非您使用密钥,否则您可能需要输入密码。一旦你完成了这一切,从你建立的系统中的 ssh 连接访问http://localhost:9999/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
您可以将端口 9999 更改为您喜欢的任何内容。
打开浏览器 url 后,从“描述机密”步骤复制令牌并将其粘贴。
【讨论】:
no endpoints available for service on the browser side。这也可以通过 ssh 来巩固而不在后台运行所有内容。