因此,我们的想法是Kubernetes仪表板访问Kubernetes API,以便为我们提供在Kubernetes集群中运行的各种“种类”的漂亮可视化效果,而访问Kubernetes仪表板的方法是通过Kubernetes API的代理机制实现的,暴露给公共主机以供公众访问。
我的问题是,是否有可能通过该Kubernetes仪表板的公开地址访问Kubernetes集群内其他服务的Kubernetes API代理机制?
答案 0 :(得分:2)
您可以通过将服务更改为NodePort
来实现:
$ kubectl -n kube-system edit service kubernetes-dashboard
您应该看到yaml
服务的表示形式。将type: ClusterIP
更改为type: NodePort
并保存文件。
注意:仅当您选择在浏览器中安装用户证书时,才可以使用这种方式访问仪表板。可以使用kubeconfig文件用于联系API服务器的证书。
请查看以下文章和URL,以获得更好的理解:
Accessing Dashboard 1.7.X and above
Deploying a publicly accessible Kubernetes Dashboard
How to access kubernetes dashboard from outside cluster
希望它将对您有帮助!
答案 1 :(得分:0)
可以。因此,使用kubectl proxy
设置代理后,您可以使用以下格式访问服务:
http://localhost:8001/api/v1/namespaces/kube-system/services/<service-name>:<port-name>/proxy/
例如http-svc
和端口名http
:
http://localhost:8001/api/v1/namespaces/default/services/http-svc:http/proxy/
注意:它不一定是公共访问权限,而是一个代理,供您从公共计算机(例如笔记本电脑)连接到私有Kubernetes集群。