为什么 minikube 服务在具有随机 IP 的 localhost 上运行集群,但从未出现在具有预定义 nodePort 的 minikube_IP 上?

问题描述 投票:0回答:1

现在详细信息如下:

  1. 我在 WSL2 Ubuntu 应用程序 (5.10.16.3-microsoft-standard-WSL2) 上运行 minikube:
$ lsb_release -a
  No LSB modules are available.
  Distributor ID: Ubuntu
  Description:    Ubuntu 20.04.6 LTS
  Release:        20.04
  Codename:       focal
  1. 我的 minikube VM 的驱动程序:
    --driver=docker

每当我运行

minikube service
命令时,我的 Web 应用程序都会自动在浏览器的本地主机 URL 上打开,其随机端口号与我的服务配置文件中指定的端口号不同。

启动 minikube 并使用配置文件成功创建部署和服务后,当我运行时:

$ minikube service demo-app-service -n demo-app

我得到以下输出:

|-----------------|------------------|-------------|---------------------------|
|    NAMESPACE    |      NAME        | TARGET PORT |            URL            |
|-----------------|------------------|-------------|---------------------------|
| demo-app        | demo-app-service |          80 | http://192.168.49.2:30021 |
|-----------------|------------------|-------------|---------------------------|
🏃  Starting tunnel for service demo-app-service.
|-----------------|------------------|-------------|------------------------|
|    NAMESPACE    |      NAME        | TARGET PORT |          URL           |
|-----------------|------------------|-------------|------------------------|
| demo-app        | demo-app-service |             | http://127.0.0.1:38243 |
|-----------------|------------------|-------------|------------------------|
🎉  Opening service demo-app/demo-app-service in default browser...
❗  Because you are using a Docker driver on linux, the terminal needs to be open to run it.

首先,我的本地浏览器会自动打开,我可以在本地主机 URL (http://127.0.0.1:38243) 上访问我的演示应用程序,但端口号似乎是随机分配的,因为它每次都会发生变化当我重新运行

minikube service
命令来部署相同的应用程序时。

其次,我主要担心的是,在我的本地浏览器上永远无法通过

minikube_IP:nodePort
(http://192.168.49.2:30021) 访问演示应用程序。这与我在服务配置文件中定义的
nodePort
相同,并且
minikube_IP
与我运行时minikube返回的IP相同

$ minikube ip

但是,当我执行时

$ minikube service demo-app-service -n demo-app --url

输出仅提供具有新随机端口号的本地主机 URL (http://127.0.0.1:)。

根据minikube的官方文档,指出,

“如果在 Darwin、Windows 或 WSL 上使用 Docker 驱动程序,网络会受到限制,并且无法直接访问节点 IP。”

但是,我希望这个问题现在已经解决,或者可能有解决方法。我也尝试过将 VirtualBox 安装为

--driver
但它不起作用。

请提供任何帮助,我们将不胜感激。谢谢你。

kubernetes minikube ubuntu-20.04 wsl-2
1个回答
0
投票

只需在 wsl 上安装适用于 Linux 的 Google Chrome 即可:

将目录更改为临时文件夹:cd /tmp 使用 wget 下载: sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 获取当前稳定版本: sudo dpkg -i google-chrome-stable_current_amd64.deb 修复软件包: sudo apt install --fix-broken -y 配置包: sudo dpkg -i google-chrome-stable_current_amd64.deb 要启动,请输入:google-chrome

© www.soinside.com 2019 - 2024. All rights reserved.