在 minikube 中设置 ingress 不起作用

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

根据 Kubernetes 官网上的这篇文章,我想在本地集群中为我的服务设置主机名(我已经实现了一个

hello world
示例,就像文档一样)。

我在启动纯 minikube 后编写了这些命令:

$ minikube addons enable ingress
$ k get pods -n ingress-nginx

NAME                                        READY   STATUS      RESTARTS   AGE
ingress-nginx-admission-create-5pthd        0/1     Completed   0          137m
ingress-nginx-admission-patch-h9vrh         0/1     Completed   1          137m
ingress-nginx-controller-56cf58c77c-9rnr6   1/1     Running     0          137m
$ k create ns hello
$ k create deployment web --image=gcr.io/google-samples/hello-app:1.0 -n hello
$ k expose deployment web --type=NodePort --port=8080 -n hello
$ k get service web -n hello

NAME   TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
web    NodePort   10.96.235.52   <none>        8080:30282/TCP   61s
$ k apply -f https://k8s.io/examples/service/networking/example-ingress.yaml -n hello
$ k get ingress -n hello

NAME              CLASS    HOSTS              ADDRESS   PORTS   AGE
example-ingress   <none>   hello-world.info             80      35s

我的 minikube IP 是

192.168.49.2
,所以我将以下行添加到我的
/etc/hosts
的末尾。

192.168.49.2 hello-world.info

但是,我在浏览器中看不到任何内容。我对

minikube service web -n hello
或 Kubernetes 端口转发没有任何问题。看来我的入口有问题。

kubernetes nginx minikube
1个回答
0
投票

显然这是 minikube 的一个已知问题,Ingress 仅在 Linux 上正常工作。启用插件后,请运行“minikubetunnel”,您的入口资源将在“192.168.49.2”

可用。

因此,在这种情况下,当在 Windows/MacOS 上使用 Minikube 时,您实际上应该使用

minikube 隧道。请记住,Minikube 主要用于测试和学习目的,因此它的某些功能可能并不理想。

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