Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Actualice ack-ingress-nginx desde Marketplace

Última actualización: Sep 21, 2026

Reemplace ack-ingress-nginx por ack-ingress-nginx-v1 para ser compatible con Kubernetes 1.24 y versiones posteriores.

Contexto

En ACK, Kubernetes 1.24 marca como obsoletos los recursos de Ingress v1beta1. El componente ack-ingress-nginx instala Nginx Ingress Controller 0.44.0, que utiliza v1beta1. Después de actualizar a Kubernetes 1.24, este controlador deja de estar available.

Por su parte, ack-ingress-nginx-v1 utiliza Nginx Ingress Controller ≥ 1.1.0. Reemplace ack-ingress-nginx por ack-ingress-nginx-v1 para mantener el controlador en ejecución.

Nota

Esto no aplica al Nginx Ingress Controller que se encuentra en Component Management. Para actualizar ese componente, consulte Upgrade the Nginx Ingress Controller component.

Requisitos previos

  • La versión del clúster es 1.20 o posterior.

    Nota

    El Chart 4.0.17+ de ack-ingress-nginx-v1 (componente v1.8.0-aliyun.1+) requiere la versión 1.22 o posterior del clúster. Si usa la versión 1.20 del clúster, utilice el Chart 4.0.16 (componente v1.2.1-aliyun.1).

  • ack-ingress-nginx está instalado desde Marketplace.

Paso 1: Cree una aplicación ack-ingress-nginx-v1

Cree una aplicación ack-ingress-nginx-v1 desde Marketplace

Para cada aplicación ack-ingress-nginx, despliegue la aplicación ack-ingress-nginx-v1 correspondiente tal como se describe en Deploy multiple Ingress Controllers to isolate traffic.

Nota

No establezca controller.ingressClassResource.name en ack-ingress-nginx-v1 con el mismo valor que controller.ingressClass en ack-ingress-nginx. Los conflictos entre Ingress Classes pueden afectar la estabilidad del controlador.

(Opcional) Ajuste las especificaciones y parámetros del SLB

Si anteriormente ajustó las especificaciones o los parámetros del Server Load Balancer (SLB) para ack-ingress-nginx, es posible que también deba aplicar esos mismos ajustes en ack-ingress-nginx-v1. Configure el Service mediante Annotations controller.service (red pública) o controller.service.internal (red privada). Consulte Configure Classic Load Balancer (CLB) using Annotations para CLB o Configure Network Load Balancer (NLB) using Annotations para NLB.

Paso 2: Cree y valide las reglas de enrutamiento de Ingress

Copie sus reglas de enrutamiento de Ingress actuales, actualice la Ingress Class y aplíquelas para evitar interrupciones en el tráfico. Por ejemplo:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: test-ingress
  namespace: default
  annotations:
    kubernetes.io/ingress.class: nginx-intranet # Original Ingress Class is nginx-intranet.
spec:
  rules:
  - host: test-ingress.com
    http:
      paths:
      - path: /foo
        backend:
          service:
            name: web1-service
            port:
              number: 8080
        pathType: ImplementationSpecific
      - path: /bar
        backend:
          service:
            name: web1-service
            port:
              number: 8080
        pathType: ImplementationSpecific

Cree una nueva regla de enrutamiento de Ingress.

  • Cuando utilice Annotations, cambie únicamente el nombre de la Ingress Class. Mantenga el resto de las configuraciones sin modificaciones.

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: test-ingress-v1 # Create a new Ingress resource.
      namespace: default
      annotations:
        kubernetes.io/ingress.class: nginx-intranet-v1 # Change to the Ingress Class used by ack-ingress-nginx-v1, for example, nginx-intranet-v1.
    spec:
      rules:
      - host: test-ingress.com
        http:
          paths:
          - path: /foo
            backend:
              service:
                name: web1-service
                port:
                  number: 8080
            pathType: ImplementationSpecific
          - path: /bar
            backend:
              service:
                name: web1-service
                port:
                  number: 8080
            pathType: ImplementationSpecific
  • Si utiliza spec.ingressClassName en lugar de Annotations, cree una nueva regla de Ingress y actualice el nombre de la Ingress Class en spec.ingressClassName.

Después de crear la nueva regla de Ingress, compruebe su funcionamiento. Para ello, actualice el archivo hosts local de modo que resuelva el nombre de dominio hacia la nueva dirección IP del CLB.

Paso 3: Migre el tráfico

Una vez validadas las nuevas reglas de enrutamiento de Ingress, migre el tráfico hacia ack-ingress-nginx-v1 mediante la actualización de los registros DNS.

Inicie sesión en la consola de Alibaba Cloud DNS o en la consola DNS de su proveedor de dominios. Actualice el registro DNS para que apunte a la nueva dirección IP. Supervise la aplicación durante la propagación del DNS y revierta los cambios si es necesario. Use los registros de los contenedores o Metrics para dar seguimiento al progreso de la migración.

Siguientes pasos

Después de migrar todo el tráfico y confirmar que el funcionamiento es correcto, elimine la aplicación ack-ingress-nginx original. Inicie sesión en la consola de Container Service for Kubernetes. Seleccione su clúster, elija Applications > Helm, busque la versión correspondiente y haga clic en Delete.