本文介绍了解决方法:数字海洋上ngix-inress的IP地址为空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的K8S集群中,入口在数字海洋的K8S集群上不起作用。我没有得到外部IP,所以它不可用。在当地似乎没有问题。
我已经搜索了很多,也尝试了一些教程,F.E.www.digitalocean/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 在上述情况下,在部署您的入口资源后,如果您点击203.0.113.0,您将获得website:8080后端服务。希望能有所帮助!
更多推荐
解决方法:数字海洋上ngix
发布评论