在 Linux 'localhost' 到达 minikube 中的 运行 应用程序
Reaching running application in minikube at 'localhost' on Linux
我在 Windows(WSL2 和本机)和 macOS(Intel 和 M1)中使用 --driver=docker
和 minikube tunnel
,这使得 minikube 集群中的应用程序 运行 可访问应用 ingress-nginx
.
后在浏览器中 localhost
为了在 Linux、macOS 和 Windows 之间保持一致,出于一系列与问题无关的原因,我想在 [=50] 中做同样的事情=](Ubuntu/Pop!特别是_OS)。
我知道 Docker 在 Linux 中与网络的工作方式不同于在 macOS 和 Windows 中的工作方式,这可能是导致问题的原因。
对于 macOS 和 Windows,无论是否使用 Docker 桌面,我通常只使用以下方法:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.44.0/deploy/static/provider/cloud/deploy.yaml
对于 Linux,我尝试了三种不同的方法:
# the recommended method for minikube (which doesn't work in macOS nor WIndows if using --driver=docker)
minikube addons enable ingress
# Docker Desktop
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.44.0/deploy/static/provider/cloud/deploy.yaml
# Bare Metal
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.44.0/deploy/static/provider/baremetal/deploy.yaml
无论是否在 Linux 中使用 minikube tunnel
,结果都是一样的:“localhost 拒绝连接。”
所以我的问题是,这可能是 ingress-nginx
的问题,有没有办法让 minikube
和 ingress-nginx
的组合在 [=17] 时为应用程序提供服务=] 在 Linux 中就像在 Windows 和 macOS 中一样?
如果没有,我想我需要修改我的开发部署脚本来创建这个例外,但如果可能的话我想避免这种情况。
经过简短的调查,在我看来存在与 minikube
、--vm-driver=docker
和 ingress
相关的广泛问题。它似乎影响所有平台,而不仅仅是您的具体情况。
github 上有 2 个与此相关的未解决问题。都是新鲜开封的:
1. Ingress on docker driver - minikube 1.16 - ERR_CONNECTION_REFUSED
2. docker: Ingress not exposed on MacOS
您可以使用另一个 --vm-driver
吗?
我在 Windows(WSL2 和本机)和 macOS(Intel 和 M1)中使用 --driver=docker
和 minikube tunnel
,这使得 minikube 集群中的应用程序 运行 可访问应用 ingress-nginx
.
localhost
为了在 Linux、macOS 和 Windows 之间保持一致,出于一系列与问题无关的原因,我想在 [=50] 中做同样的事情=](Ubuntu/Pop!特别是_OS)。
我知道 Docker 在 Linux 中与网络的工作方式不同于在 macOS 和 Windows 中的工作方式,这可能是导致问题的原因。
对于 macOS 和 Windows,无论是否使用 Docker 桌面,我通常只使用以下方法:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.44.0/deploy/static/provider/cloud/deploy.yaml
对于 Linux,我尝试了三种不同的方法:
# the recommended method for minikube (which doesn't work in macOS nor WIndows if using --driver=docker)
minikube addons enable ingress
# Docker Desktop
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.44.0/deploy/static/provider/cloud/deploy.yaml
# Bare Metal
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.44.0/deploy/static/provider/baremetal/deploy.yaml
无论是否在 Linux 中使用 minikube tunnel
,结果都是一样的:“localhost 拒绝连接。”
所以我的问题是,这可能是 ingress-nginx
的问题,有没有办法让 minikube
和 ingress-nginx
的组合在 [=17] 时为应用程序提供服务=] 在 Linux 中就像在 Windows 和 macOS 中一样?
如果没有,我想我需要修改我的开发部署脚本来创建这个例外,但如果可能的话我想避免这种情况。
经过简短的调查,在我看来存在与 minikube
、--vm-driver=docker
和 ingress
相关的广泛问题。它似乎影响所有平台,而不仅仅是您的具体情况。
github 上有 2 个与此相关的未解决问题。都是新鲜开封的:
1. Ingress on docker driver - minikube 1.16 - ERR_CONNECTION_REFUSED
2. docker: Ingress not exposed on MacOS
您可以使用另一个 --vm-driver
吗?