WSL2 上的 minikube (windows 10) - minikube ip 无法访问

Mir*_*ęza 6 java docker kubernetes minikube

我已在本地计算机上安装了 minikube 实例(--driver=docker)。minikube 的 IP 是 192.168.49.2。当我启动 minikube (minikube start --memory 7168) 时,我在控制台上没有收到任何错误。但尝试 ping minikube ip 失败。我做错了什么?

$ kubectl get nodes -o wide
NAME       STATUS   ROLES                  AGE   VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION                   CONTAINER-RUNTIME
minikube   Ready    control-plane,master   9d    v1.20.2   192.168.49.2   <none>        Ubuntu 20.04.1 LTS   5.4.72-microsoft-standard-WSL2   docker://20.10.3
Run Code Online (Sandbox Code Playgroud)

hag*_*wal 12

回想一下,minikube 是本地 Kubernetes - 它在您的个人计算机上运行单节点 Kubernetes 集群,以便您可以尝试 Kubernetes。现在,它不在本地运行 Kubernetes 集群,而是在虚拟机内运行。

这就是为什么你不能简单地从本地访问节点 IP。另一种看待它的方式是,在 Kubernetes 中,您可以创建 NodePort 服务来访问集群外部的工作负载,但当您使用 minikube 运行 Kubernetes 时,这不起作用 - 原因与上面提到的相同。

现在,您可以通过使用命令来解决这个问题minikube service <<YOUR_SERVICE_NAME>>。这将创建一个隧道来从 K8S 集群外部访问您的应用程序(使用服务公开)。


你可以minikube tunnel按照@Hackerman提到的方式尝试,但我从未尝试过。

  • `minikube 服务 &lt;&lt;name&gt;&gt;` 对我有用!谢谢。这应该被接受为正确答案 (2认同)