PaaS/Kubernetes

(Kubernetes) Ingress Class Object에 대해서

armyost 2022. 4. 18. 13:28
728x90

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