无法从浏览器访问我的 minikube 集群(❗ 因为你在 windows 上使用 Docker 驱动程序,所以需要打开终端才能 运行 它。)

Unable to access my minikube cluster from the browser (❗ Because you are using a Docker driver on windows, the terminal needs to be open to run it.)

我正在尝试从浏览器访问一个简单的 minikube 集群,但我不断收到以下信息: ❗ Because you are using a Docker driver on windows, the terminal needs to be open to run it.

我已经为集群创建了一个端口号为 30384 的外部服务,并且我在 docker 容器中 运行ning minikube。

我正在按照“Hello Minikube”示例来创建我的部署。

第 1 步:我创建了部署:

kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4

第二步:我创建了外部服务: kubectl expose deployment hello-node --type=LoadBalancer --port=8080

第 3 步:我 运行 服务,那是我塞满的地方 "minikube service hello-node

完整的 return 消息:

❗ Executing "docker container inspect minikube --format={{.State.Status}}" took an unusually long time: 2.3796077s Restarting the docker service may improve performance. Starting tunnel for service hello-node. Opening service default/hello-node in default browser... ❗ Because you are using a Docker driver on windows, the terminal needs to be open to run it.

我尝试 运行 服务以使其可以从浏览器访问,但是,我做不到。

我通过将 minikube 基本驱动程序从 docker 更改为 hyperv 解决了同样的问题。

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

您的电脑将在您可以说

之后重新启动
minikube config set driver hyperv

然后 minikube start 将从该驱动程序开始。

这对我有用。

您可以使用 kubectl 的端口转发功能来实现这一点。 例如,如果您是 运行 hello-node 服务:

kubectl port-forward svc/hello-node 27017:27017

这会在 localhost:27017

上公开服务

您也可以使用相同的命令提及您的 pod 而不是服务,您只需要指定您的 pods/pod-name,您可以通过 kubectl get pods

验证您的 pod 名称