Kubernetes 没有为入口分配地址
Kubernetes is not assigning address to ingress
我是 k8s 的初学者,我按照 k8s official docs 创建了一个 hello-world ingress,但我无法让它工作。首先,我创建了一个服务,就像我得到的教程一样:
$ kubectl get service web
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
web NodePort 10.100.208.38 <none> 8080:31921/TCP 19m
所以,我可以通过浏览器访问我的服务:
$ minikube service web
Hello, world!
Version: 1.0.0
Hostname: web-79d88c97d6-xrshs
到目前为止一切顺利。但是,我陷入了入口部分。所以我创建了这个入口,就像 tutorial:
$ kubectl describe ingress example-ingress
Name: example-ingress
Namespace: default
Address:
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
---- ---- --------
hello-world.info
/ web:8080 (172.17.0.4:8080)
Annotations: nginx.ingress.kubernetes.io/rewrite-target: /
...
甚至在使用我的 minikube ip 配置 /etc/hosts 之后:192.168.99.102 hello-world.info,当我卷曲它或通过浏览器访问时,我得到 nginx 404。奇怪的是我的入口确实如此没有得到地址,即使过了一段时间。谁能指出错误出在哪里?
PS。在询问 here 之前,我做了我的研究。我检查我的 minikube ingress 插件是否已启用并且我的 ingress-nginx-controller pod 是 运行.
PS2。我的 minikube 版本是 1.23,我的 kubectl 客户端和服务器版本是 1.22.1.
似乎 Minikube 1.23.0 的 Ingress Addon 存在一个错误,如文档所述 here,这与您看到的问题相符。 ConfigMap 问题阻止生成 IngressClass(默认情况下通常为“nginx”)并且入口服务将无法工作。
这个问题是 fixed in 1.23.1,因此更新 Minikube 应该可以解决您的问题。
我是 k8s 的初学者,我按照 k8s official docs 创建了一个 hello-world ingress,但我无法让它工作。首先,我创建了一个服务,就像我得到的教程一样:
$ kubectl get service web
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
web NodePort 10.100.208.38 <none> 8080:31921/TCP 19m
所以,我可以通过浏览器访问我的服务:
$ minikube service web
Hello, world!
Version: 1.0.0
Hostname: web-79d88c97d6-xrshs
到目前为止一切顺利。但是,我陷入了入口部分。所以我创建了这个入口,就像 tutorial:
$ kubectl describe ingress example-ingress
Name: example-ingress
Namespace: default
Address:
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
---- ---- --------
hello-world.info
/ web:8080 (172.17.0.4:8080)
Annotations: nginx.ingress.kubernetes.io/rewrite-target: /
...
甚至在使用我的 minikube ip 配置 /etc/hosts 之后:192.168.99.102 hello-world.info,当我卷曲它或通过浏览器访问时,我得到 nginx 404。奇怪的是我的入口确实如此没有得到地址,即使过了一段时间。谁能指出错误出在哪里?
PS。在询问 here 之前,我做了我的研究。我检查我的 minikube ingress 插件是否已启用并且我的 ingress-nginx-controller pod 是 运行.
PS2。我的 minikube 版本是 1.23,我的 kubectl 客户端和服务器版本是 1.22.1.
似乎 Minikube 1.23.0 的 Ingress Addon 存在一个错误,如文档所述 here,这与您看到的问题相符。 ConfigMap 问题阻止生成 IngressClass(默认情况下通常为“nginx”)并且入口服务将无法工作。
这个问题是 fixed in 1.23.1,因此更新 Minikube 应该可以解决您的问题。