Anteriormente, usaba la API extensions/v1beta1 para crear ALB en Amazon EKS. Después de actualizar EKS a v1.19 , comencé a recibir advertencias:
Warning: extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 IngressAsí que comencé a actualizar mi configuración de ingreso en consecuencia e implementé el ALB, pero el ALB no se inicia en AWS y tampoco obtiene la dirección del ALB.
Configuración de ingreso -->
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: "pub-dev-alb" namespace: "dev-env" annotations: kubernetes.io/ingress.class: "alb" alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/target-type: ip spec: rules: - host: "dev.test.net" http: paths: - pathType: Prefix path: "/" backend: service: name: "dev-test-tg" port: number: 80Configuración del puerto del nodo -->
apiVersion: v1 kind: Service metadata: name: "dev-test-tg" namespace: "dev-env" spec: ports: - port: 80 targetPort: 3001 protocol: TCP type: NodePort selector: app: "dev-test-server"Resultados --->
Usó esta documentación para crear el controlador de ingreso ALB.
¿Alguien podría ayudarme aquí?
Tu entrada debería funcionar bien incluso si usas la entrada más reciente. Las advertencias que ve indican que hay disponible una nueva versión de la API. No tienes que preocuparte por eso.
Aquí está la explicación de por qué ocurre esta advertencia, incluso si usa apiVersion: networking.k8s.io/v1 :
Esto está funcionando como se esperaba. Cuando crea un objeto de ingreso, se puede leer a través de cualquier versión (el servidor maneja la conversión a la versión solicitada).
kubectl get ingresses una solicitud ambigua, ya que no indica qué versión se desea leer.Cuando se realiza una solicitud ambigua, kubectl busca en los documentos de descubrimiento devueltos por el servidor para encontrar el primer grupo/versión que contiene el recurso especificado.
Por razones de compatibilidad, históricamente se ha preferido
extensions/v1beta1sobre todas las demás versiones de API. Ahora que el ingreso es el único recurso que queda en ese grupo, está en desuso y tiene un reemplazo de GA, 1.20 lo eliminará en prioridad para quekubectl get ingresslea desdenetworking.k8s.io/v1, pero seguirá un servidor 1.19 la prioridad histórica.Si desea leer una versión específica, puede calificar la solicitud de obtención (como
kubectl get ingresses.v1.networking.k8s.io...) o puede pasar un archivo de manifiesto para solicitar la misma versión especificada en el archivo (kubectl get -f ing.yaml -o yaml)
También puede ver una pregunta similar .