gpt4 book ai didi

ubuntu - 访问 minikube 仪表板 - (Ubuntu20.04 服务器)VM 在 Windows 10 主机上运行,​​带有 VirtualBox 6.1

转载 作者:行者123 更新时间:2023-12-04 18:38:57 25 4
gpt4 key购买 nike

我正在尝试从主机操作系统 (Windows 10) 访问 minikube 仪表板。

Minikube 在我的虚拟机 Ubuntu 20.04 服务器上运行。

主机是 Windows 10,我使用 VirtualBox 来运行我的 VM。

这些是我在 Ubuntu 上运行的命令:

tomas@ubuntu20:~$ minikube start
* minikube v1.22.0 on Ubuntu 20.04 (vbox/amd64)
* Using the docker driver based on existing profile
* Starting control plane node minikube in cluster minikube
* Pulling base image ...
* Updating the running docker "minikube" container ...
* Preparing Kubernetes v1.21.2 on Docker 20.10.7 ...
* Verifying Kubernetes components...
- Using image gcr.io/k8s-minikube/storage-provisioner:v5
- Using image kubernetesui/dashboard:v2.1.0
- Using image kubernetesui/metrics-scraper:v1.0.4
* Enabled addons: storage-provisioner, default-storageclass, dashboard
* kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A'
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

tomas@ubuntu20:~$ kubectl get po -A

Command 'kubectl' not found, but can be installed with:

sudo snap install kubectl

tomas@ubuntu20:~$ minikube kubectl -- get po -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-558bd4d5db-9p9ck 1/1 Running 2 72m
kube-system etcd-minikube 1/1 Running 2 72m
kube-system kube-apiserver-minikube 1/1 Running 2 72m
kube-system kube-controller-manager-minikube 1/1 Running 2 72m
kube-system kube-proxy-xw766 1/1 Running 2 72m
kube-system kube-scheduler-minikube 1/1 Running 2 72m
kube-system storage-provisioner 1/1 Running 4 72m
kubernetes-dashboard dashboard-metrics-scraper-7976b667d4-r9k7t 1/1 Running 2 54m
kubernetes-dashboard kubernetes-dashboard-6fcdf4f6d-c7kwf 1/1 Running 2 54m

然后我打开另一个终端窗口并运行:

tomas@ubuntu20:~$ minikube dashboard
* Verifying dashboard health ...
* Launching proxy ...
* Verifying proxy health ...
* Opening http://127.0.0.1:36337/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default browser...
http://127.0.0.1:36337/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

现在,在我的 Windows 10 主机上,我转到 Web 浏览器并输入:

http://127.0.0.1:36337/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

但是我得到错误:

This site can’t be reached 127.0.0.1 refused to connect.

如何从我的主机操作系统 Web 浏览器访问 minikube 仪表板?

最佳答案

复制

我在使用 VirtualBox 运行的 Windows 10 和 ubuntu 18.04 LTS 虚拟机上重现了此行为。

我已经尝试了两种 minikube 驱动程序:docker 和 none(最后一个意味着所有 kubernetes 组件都将在本地主机上运行)并且行为是相同的。

发生了什么

Minikube 被设计为在本地主机上使用。当 minikube dashboard 命令运行时,minikube 下载图像(指标抓取器和仪表板本身),启动它们,测试它们是否健康,然后创建在 localhost 上运行的代理。它不能接受虚拟机外部的连接(在这种情况下它是 ubuntu VM 的 Windows 主机)。

这可以通过运行 netstat 命令来检查(切断一些无用的输出):

$ minikube dashboard
🔌 Enabling dashboard ...
🚀 Launching proxy ...
🤔 Verifying proxy health ...
👉 http://127.0.0.1:36317/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

$ sudo netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:36317 0.0.0.0:* LISTEN 461195/kubectl

如何解决

一旦运行了 minikube dashboard 命令,kubernetes dashboard 将继续在 kubernetes-dashboard 命名空间中运行。

应该使用以下命令手动打开它的代理:

kubectl proxy --address='0.0.0.0' &

或者如果你的机器上没有安装 kubectl:

minikube kubectl proxy -- --address='0.0.0.0' &

它将在端口 8001 上启动一个到 kubernetes api 服务器的代理,并将服务于所有地址(它可以更改为默认虚拟框 NAT 地址 10.2.0.15) .

下一步是在VirtualBox中添加port-forwarding。转到您的虚拟机 -> 设置 -> 网络 -> NAT -> 高级 -> 端口转发

添加新规则:

  • 主机 IP = 127.0.0.1
  • 主机端口 = 任何空闲端口,例如我用了8000
  • 访客IP=可以留空
  • guest 端口 = 8001(代理正在监听的位置)

现在您可以转到 Windows 主机上的浏览器,粘贴 URL,更正在 host port 中分配的端口,它将起作用:

http://127.0.0.1:8000/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

有用的链接:

关于ubuntu - 访问 minikube 仪表板 - (Ubuntu20.04 服务器)VM 在 Windows 10 主机上运行,​​带有 VirtualBox 6.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68833218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com