解决方法:数字海洋上ngix-inress的IP地址为空 [英] How to fix: Empty IP Address for nginx-ingress on digital-ocean

查看:14
本文介绍了解决方法:数字海洋上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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆