首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >所有主机都由其他资源使用Nginx Ingress控制器获取

所有主机都由其他资源使用Nginx Ingress控制器获取
EN

Stack Overflow用户
提问于 2021-01-02 14:21:25
回答 1查看 3.4K关注 0票数 3

正如docs https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/中提到的,我已经设置了Nginx。我已经用下面的配置设置了这个入口

IngressClass

代码语言:javascript
运行
复制
apiVersion: networking.k8s.io/v1beta1
kind: IngressClass
metadata:
  name: nginx
  # annotations:
  #   ingressclass.kubernetes.io/is-default-class: "true"
spec:
  controller: nginx.org/ingress-controller

入口

代码语言:javascript
运行
复制
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: hn-service-ingress
spec:
  ingressClassName: nginx
  rules:
  - host: hostnameservice.classpath.com
    http:
      paths:
      - path: /test
        backend:
          serviceName: hostname-service
          servicePort: 80

下面是运行describe命令时的错误。我要去找All hosts are taken by other resources

代码语言:javascript
运行
复制
kubectl describe ingress hn-service-ingress
Name:             hn-service-ingress
Namespace:        pradeep
Address:
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
  Host                           Path  Backends
  ----                           ----  --------
  hostnameservice.classpath.com
                                 /test    hostname-service:80 (100.96.1.12:8111,100.96.1.13:8111,100.96.2.13:8111)
Annotations:                     <none>
Events:
  Type     Reason    Age   From                      Message
  ----     ------    ----  ----                      -------
  Warning  Rejected  5s    nginx-ingress-controller  All hosts are taken by other resources

当我过去检查cafe示例时,它运行得很好。我哪里出问题了?

注意:我已经配置了AWS负载均衡器,并使用dnslookup将/etc/hosts设置为指向AWS中的ELB

EN

回答 1

Stack Overflow用户

发布于 2021-01-06 12:38:58

请记住,Nginx有三种类型。Open Source Nginx Ingress ControllerNginx Incorporaton (nginx .)和Nginx Incorporaton Plus

正如我在评论中提到的那样,使用相同host的资源解决了问题。它叫主机碰撞

当多个资源配置同一个主机时,会发生主机冲突。Ingress Controller支持两个处理主机冲突的选项:

  • 选择获胜者

如果多个资源争夺同一台主机,则大会控制器将根据资源的creationTimestamp选择胜利者:最老的资源将获胜。如果有多个最老的资源(它们的creationTimestamp是相同的),则大会控制器将使用词汇表最小的uid来选择资源。

  • 同一主机的合并配置

可以将同一主机的多个侵入域资源的配置合并。这种方法的一个常见用例是在多个命名空间之间分配资源。

OP证实,这是通过对另一个Ingress资源在另一个namespace中所做的更改解决的。

我解决了这个问题。在另一个名称空间中又出现了一个

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65540117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档