解决方法:数字海洋上ngix-inress的IP地址为空 [英] How to fix: Empty IP Address for nginx-ingress on digital-ocean
本文介绍了解决方法:数字海洋上ngix-inress的IP地址为空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的K8S集群中,入口在数字海洋的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
谁能帮帮我,告诉我我必须做些什么才能让我的K8集群运行?
谢谢 彼得
推荐答案
首先,如果您使用的是NGINX入口控制器,则不需要查看入口地址。
在您的K8S集群上安装Nginx Ingress Controller时,它会创建负载均衡器来处理所有传入请求。确保按照您发布的guide的第2步中所述完成以下部分,并且您能够看到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
后端服务。
希望能有所帮助!
这篇关于解决方法:数字海洋上ngix-inress的IP地址为空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文