8

我在我的开发盒上的虚拟机上运行 Kubernetes。我想从 VM 主机查看 Kubernetes 仪表板。当我运行以下命令时:

kubectl proxy --address 0.0.0.0 --accept-hosts ^/.*

当我尝试访问仪表板时,我收到未经授权的错误。

我错过了什么?

4

2 回答 2

28

--accept-hosts 访问控制用于检查主机名,因此它不会以 /(斜杠)开头。你需要做:

kubectl proxy --address 0.0.0.0 --accept-hosts '.*'

(确保您对 .* 进行 shell 转义,因为它可能与当前目录中的文件匹配!)

更多信息请访问:https ://kubernetes.io/docs/user-guide/kubectl/kubectl_proxy/

于 2017-02-07T17:11:40.373 回答
0

万一有人偶然发现这个问题并想要限制对来宾 VM 的主机的访问。

localhost我正在使用 VirtualBox,并且通过使用和使用 SSH 隧道到来宾 VM ,我只能允许从主机访问

在来宾虚拟机中

$ kubectl proxy --address='0.0.0.0' --port=8002 --accept-hosts='localhost'

在主机中,我添加了对主机静态 IP 的主机名引用kubemaster

$ echo "192.168.224.23 kubemaster" >> /etc/hosts
$ ssh -N -L 8001:localhost:8002 kube@kubemaster

在 Host 中,打开浏览器并导航到
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/namespace?namespace=default

于 2020-11-14T22:34:46.603 回答