我的开发盒上的VM上运行了Kubernetes。我想从VM主机查看Kubernetes仪表板。当我运行以下命令时:
kubectl proxy --address 0.0.0.0 --accept-hosts ^/.*
当我尝试访问仪表板时,我收到了未经授权的错误。
我错过了什么?
答案 0 :(得分:18)
--accept-hosts访问控制用于检查主机名,因此它不会以/(斜杠)开头。你需要这样做:
kubectl proxy --address 0.0.0.0 --accept-hosts '.*'
(确保shell转义。*,因为它可能匹配当前目录中的文件!)
有关详情,请访问:https://kubernetes.io/docs/user-guide/kubectl/kubectl_proxy/
答案 1 :(得分:0)
万一有人偶然发现了这个问题,并希望限制对来宾VM主机的访问。
我正在使用VirtualBox,并且只能使用localhost
并使用到来宾VM的SSH隧道来允许从主机进行访问
在来宾VM中
$ kubectl proxy --address='0.0.0.0' --port=8002 --accept-hosts='localhost'
在主机中,我添加了一个主机名引用,该主机名引用到主平面kubemaster
$ echo "192.168.224.23 kubemaster" >> /etc/hosts
$ ssh -N -L 8001:localhost:8002 kube@kubemaster
在“主机”中,打开浏览器并导航到
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/namespace?namespace=default