IngressClass 是一种 API 资源对象,用于定义和区分多个 Ingress 控制器的行为。通过定义 IngressClass 资源,你可以指定 Ingress 资源应由哪个 Ingress 控制器处理。
要通过注解(annotation)添加 IngressClass,你需要在 Ingress 资源上添加一个特定的注解来指定 IngressClass 的名称。这通常是通过在 Ingress 资源的元数据部分进行设置的
查看ingress控制器 指定的ingressclass (--ingress-class=nginx-hello)
kubectl edit deploy -n ingress-nginx ingress-nginx-controller
? ? spec:
? ? ? containers:
? ? ? - args:
? ? ? ? - /nginx-ingress-controller
? ? ? ? - --election-id=ingress-controller-leader
? ? ? ? - --ingress-class=nginx-hello
? ? ? ? - --configmap=ingress-nginx/ingress-nginx-controller
? ? ? ? - --validating-webhook=:8443
? ? ? ? - --validating-webhook-certificate=/usr/local/certificates/cert
? ? ? ? - --validating-webhook-key=/usr/local/certificates/key
查看ingressclass
kubectl get ingresses --all-namespaces -o jsonpath="{.items[*].metadata.annotations.kubernetes\.io/ingress\.class}"
ingress 添加指定的ingress.class,表示使用那个ingress控制器处理路由流量,下面的ingressClassName为显示信息
kubectl edit ingrss 服务ingress名称
metadata:
? annotations:
? ? kubernetes.io/ingress.class: nginx-hello
spec:
? ingressClassName: nginx-hello