如何从同一局域网内的其他机器访问Minikube Dashboard
解决同一子网机器访问Minikube Dashboard的问题
我之前碰到过一模一样的场景,核心就是要把Minikube Dashboard的访问权限从Minikube虚拟机内部,扩展到宿主机器(192.168.4.122)之外的同一子网设备,下面给你两种实用的解决方法:
方法1:端口转发快速暴露(临时生效)
这种方式无需修改Kubernetes配置,适合临时需要访问的场景:
- 登录到运行Minikube的192.168.4.122机器,执行以下命令,把Dashboard服务的端口转发到宿主机器的所有网卡上:
kubectl port-forward --address 0.0.0.0 service/kubernetes-dashboard 30000:443 -n kubernetes-dashboard说明:
30000是对外暴露的端口,443是Dashboard在集群内部的默认端口,-n kubernetes-dashboard指定服务所在的命名空间。 - 执行成功后,同一子网的机器直接访问
https://192.168.4.122:30000就能打开Dashboard了。如果之前习惯用HTTP访问,可对应调整内部端口为80相关的(不过Dashboard默认是HTTPS)。
方法2:修改服务类型为NodePort(持久生效)
如果需要长期让其他机器访问,推荐用这种方法,重启服务后配置不会丢失:
- 先查看当前Dashboard服务的状态:
默认情况下服务类型是kubectl get service kubernetes-dashboard -n kubernetes-dashboardClusterIP,只能在Minikube集群内部访问。 - 修改服务类型为
NodePort,并指定你想用的30000端口:kubectl patch service kubernetes-dashboard -n kubernetes-dashboard -p '{"spec":{"type":"NodePort","ports":[{"port":443,"targetPort":8443,"nodePort":30000}]}}' - 验证修改是否成功:
此时kubectl get service kubernetes-dashboard -n kubernetes-dashboardTYPE列会变成NodePort,PORT(S)列会显示443:30000/TCP。 - 最后把Minikube虚拟机的30000端口映射到宿主机器的30000端口:
minikube service kubernetes-dashboard -n kubernetes-dashboard --url --listen=0.0.0.0:30000 - 现在同一子网的机器就能通过
https://192.168.4.122:30000稳定访问Dashboard了。
额外注意事项
- 记得检查192.168.4.122机器的防火墙规则,确保30000端口的入站流量是允许的,不然其他机器会连接失败。
- 访问时如果遇到证书警告,这是Minikube用自签名证书导致的,属于正常情况,直接忽略警告继续访问即可。
内容的提问来源于stack exchange,提问作者Snipper03
相关产品推荐
相关产品推荐

