(Kubernetes) Ingress Class Object에 대해서
nginx Ingress Controller 1.0 버전전까지는 Ingress Class Object를 요구하지 않았는데, 버전 1.0이후의 Ingress Controller는 어떤 Ingress class Object를 제공할지 인지하고 있어야 한다. (k8s1.22부터 준수사항인듯...)
내 k8s 클러스터의 Ingress 관련 준수사항을 확인하려면..
$ kubectl explain ingressclass
$ kubectl explain ingress.spec.ingressClassName
k8s 1.22부터는 Ingress API는 "networking.k8s.io/v1" API로 부터만 접근할 수 있습니다. 즉 "extenstions/v1beta1" 혹은 "networking.k8s.io/v1beta1" 등으로 생성했던 리소스는 1.22 이후에는 제공되지 않습니다.
그리고 Ingress 생성시 Annotation인 "kubernetes.io/ingress.class" 도 사용불가하다. 공식적으로 IngressClass를 선언하던지, Default IngressClass를 사용하던지 해야한다.
앞으로 Ingress Controller도 멀티로 사용하게 될 가능성이 많고 하므로 명시적으로 ClassObject를 표시하는것이 옳다고 본다...
참고문서 : https://kubernetes.github.io/ingress-nginx/
Welcome - NGINX Ingress Controller
Overview This is the documentation for the Ingress NGINX Controller. It is built around the Kubernetes Ingress resource, using a ConfigMap to store the controller configuration. You can learn more about using Ingress in the official Kubernetes documentatio
kubernetes.github.io