Win10 VirtualBox下Ubuntu20.04虚机中minikube dashboard如何从宿主机访问
从Windows宿主机访问VirtualBox内Ubuntu运行的minikube dashboard解决方案
报错根因
minikube dashboard默认绑定Ubuntu虚拟机的本地回环地址127.0.0.1,仅允许虚拟机内部进程访问,因此Windows宿主机直接访问该地址会被拒绝。
可行解决方案
方法一:启动dashboard时绑定所有网卡接口(最简单方案)
在Ubuntu终端执行如下命令启动dashboard,指定监听所有网卡:
minikube dashboard --url --address=0.0.0.0
操作步骤:
- 命令执行后会返回类似
http://0.0.0.0:34567/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/的地址 - 执行
ip a查询Ubuntu虚拟机的对外IP(通常是VirtualBox分配的192.168.x.x段地址,对应网卡名称一般为enp0s3) - 把返回地址中的0.0.0.0替换为虚拟机实际IP,在Windows浏览器中访问替换后的地址即可
- 若Ubuntu开启了ufw防火墙,需执行
ufw allow 34567放开对应端口(端口替换为实际返回的端口)
方法二:配置VirtualBox端口转发规则
无需修改minikube启动参数,直接在VirtualBox层面做端口映射:
- 关闭运行中的Ubuntu虚拟机,打开VirtualBox对应虚拟机的【设置】→【网络】→【高级】→【端口转发】
- 新增转发规则:
- 名称:minikube-dashboard
- 协议:TCP
- 主机IP:127.0.0.1
- 主机端口:36337(对应你之前获取到的dashboard端口,也可替换为本地未占用的其他端口)
- 子系统IP:127.0.0.1
- 子系统端口:36337(对应Ubuntu内dashboard监听的端口)
- 保存配置后启动Ubuntu,重新执行
minikube dashboard,直接在Windows浏览器访问原127.0.0.1开头的地址即可
方法三:手动端口映射dashboard服务
直接映射dashboard服务端口,无需带长路径访问:
minikube kubectl -- port-forward -n kubernetes-dashboard service/kubernetes-dashboard 0.0.0.0:9090:80
执行后直接在Windows浏览器访问http://[虚拟机IP]:9090即可打开dashboard。
注意:如果需要长期访问,建议固定VirtualBox给Ubuntu分配的静态IP,避免虚拟机重启后IP变动需要修改访问地址。
内容的提问来源于stack exchange,提问作者Tomas.R
相关产品推荐
相关产品推荐

