ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] ### **原理** NginxIngressController有一个启动参数`--ingress-class`,NginxIngressController实例只会读取那些Annotation和自己的启动参数值配置的Ingress对象。 比如说,NignxIngressController实例的启动参数如下,它的`--ingress-class`参数值为`nginx-internal` ``` spec: template: spec: containers: - name: nginx-ingress-internal-controller args: - /nginx-ingress-controller - '--ingress-class=nginx-internal' ``` 那么这个NginxIngressController实例只会读取Annotation中包含`kubernetes.io/ingress.class: nginx-internal`的Ingress(所有命名空间中的Ingress),如下: ``` kind: Ingress ... metadata: annotations: kubernetes.io/ingress.class: nginx-internal ``` NginxIngressController的启动参数`--ingress-class`如果没有设置,则默认值为`nginx`,那么该NginxIngressController实例会读取Annotation中包含`kubernetes.io/ingress.class: nginx`的Ingress,以及Annotation中未设置`kubernetes.io/ingress.class`字段的Ingress。 ### **多个NginxIngressController的设计** ### **参考** * https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/