如何修复:数字海洋上 nginx-ingress 的空 IP 地址
How to fix: Empty IP Address for nginx-ingress on digital-ocean
在我的 k8s 集群中,ingress 在数字海洋的 k8s 集群上不起作用。我没有获得外部 ip,因此它不可用。本地好像没问题。
我已经搜索了很多并尝试了一些教程,f.e。 https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nginx-ingress-with-cert-manager-on-digitalocean-kubernetes。
但它似乎是一个旧版本,解决方案(甚至链接)不再有效。
nginx-ingress 应该调用 8080 端口的网站后台服务。
我将入口代码简化为以下代码:
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: website
servicePort: 8080
kubectl get ing
我看到了入口,但没有地址。看起来像这样
NAME HOSTS ADDRESS PORTS AGE
test-ingress * 80 50s
任何人都可以帮助我并告诉我我必须做什么才能获得我的 k8s 集群 运行?
谢谢
彼得
首先,如果您使用的是 Nginx Ingress Controller,则不需要查看入口地址。
当你安装 Nginx Ingress Controller to your k8s cluster, it creates Load Balancer to handle all incoming requests. Make sure that below part completed as explained in Step 2 of guide 你发布了,你可以看到 LoadBalancer 外部 ip 地址。
$ kubectl get svc --namespace=ingress-nginx
您应该看到一个外部 IP 地址,对应于 DigitalOcean 负载均衡器的 IP 地址:
Output
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx LoadBalancer 10.245.247.67 203.0.113.0 80:32486/TCP,443:32096/TCP 20h
在上述情况下,在部署入口资源后,如果您点击 http://203.0.113.0
,您将获得 website:8080
后端服务。
希望对您有所帮助!
在我的 k8s 集群中,ingress 在数字海洋的 k8s 集群上不起作用。我没有获得外部 ip,因此它不可用。本地好像没问题。
我已经搜索了很多并尝试了一些教程,f.e。 https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nginx-ingress-with-cert-manager-on-digitalocean-kubernetes。 但它似乎是一个旧版本,解决方案(甚至链接)不再有效。
nginx-ingress 应该调用 8080 端口的网站后台服务。
我将入口代码简化为以下代码:
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: website
servicePort: 8080
kubectl get ing
我看到了入口,但没有地址。看起来像这样
NAME HOSTS ADDRESS PORTS AGE
test-ingress * 80 50s
任何人都可以帮助我并告诉我我必须做什么才能获得我的 k8s 集群 运行?
谢谢 彼得
首先,如果您使用的是 Nginx Ingress Controller,则不需要查看入口地址。
当你安装 Nginx Ingress Controller to your k8s cluster, it creates Load Balancer to handle all incoming requests. Make sure that below part completed as explained in Step 2 of guide 你发布了,你可以看到 LoadBalancer 外部 ip 地址。
$ kubectl get svc --namespace=ingress-nginx
您应该看到一个外部 IP 地址,对应于 DigitalOcean 负载均衡器的 IP 地址:
Output
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx LoadBalancer 10.245.247.67 203.0.113.0 80:32486/TCP,443:32096/TCP 20h
在上述情况下,在部署入口资源后,如果您点击 http://203.0.113.0
,您将获得 website:8080
后端服务。
希望对您有所帮助!