从nginx-controller简介ingressclass
2022-04-13 本文已影响0人
wwq2020
简介
ingressclass用于在集群内有多个ingress controller时候,区分ingress由谁处理
ingress用于暴露集群内的服务
nginx-controller是一个Ingress controller实现
nginx-controller有2个配置在此时有用(--ingress-class和--controller-class)
nginx-controller默认controller-class为k8s.io/ingress-nginx,可以通过--controller-class启动参数修改
无default ingressclass
如下
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
name: nginx-example
spec:
controller: k8s.io/ingress-nginx
ingress未设置ingressClassName
会被忽略
ingress设置了ingressClassName
对应的ingressclass的spec.controller和nginx-controller的controller-class不等
会被忽略
对应的ingressclass的spec.controller和nginx-controller的controller-class相等
会被处理
有default ingressclass
如下
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
annotations:
ingressclass.kubernetes.io/is-default-class: "true"
name: nginx
spec:
controller: k8s.io/ingress-nginx
ingress未设置ingressClassName
default ingressclass的spec.controller和nginx-controller的controller-class不等
会被忽略
default ingressclass的spec.controller和nginx-controller的controller-class相等
会被处理
ingress设置了ingressclassName
对应的ingressclass的spec.controller和nginx-controller的controller-class不等
会被忽略
对应的ngressclass的spec.controller和nginx-controller的controller-class相等
会被处理