Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Upgrade ack-ingress-nginx from Marketplace

Última atualização: Sep 21, 2026

Substitua o ack-ingress-nginx pelo ack-ingress-nginx-v1 para oferecer suporte ao Kubernetes 1.24 e versões posteriores.

Background

O ACK Kubernetes 1.24 descontinua os recursos de Ingress v1beta1. O ack-ingress-nginx instala o Nginx Ingress Controller 0.44.0, que utiliza v1beta1. Após atualizar para o Kubernetes 1.24, esse controller deixa de funcionar.

O ack-ingress-nginx-v1 utiliza o Nginx Ingress Controller ≥ 1.1.0. Substitua o ack-ingress-nginx pelo ack-ingress-nginx-v1 para manter o controller em operação.

Nota

Este tópico não se aplica ao Nginx Ingress Controller disponível no Component Management. Para atualizar esse componente, consulte Upgrade the Nginx Ingress Controller component.

Prerequisites

  • A versão do cluster é 1,20 ou posterior.

    Nota

    O ack-ingress-nginx-v1 Chart 4.0.17+ (componente v1.8.0-aliyun.1+) exige cluster versão 1,22 ou posterior. Para clusters na versão 1,20, utilize o Chart 4.0.16 (componente v1.2.1-aliyun.1).

  • O ack-ingress-nginx está instalado pelo Marketplace.

Step 1: Create an ack-ingress-nginx-v1 application

Create an ack-ingress-nginx-v1 application from Marketplace

Para cada aplicação ack-ingress-nginx, implante uma aplicação ack-ingress-nginx-v1 correspondente conforme descrito em Deploy multiple Ingress Controllers to isolate traffic.

Nota

Não defina controller.ingressClassResource.name no ack-ingress-nginx-v1 com o mesmo valor de controller.ingressClass no ack-ingress-nginx. Ingress Classes conflitantes podem causar instabilidade no controller.

(Optional) Adjust SLB specifications and parameters

Se você ajustou anteriormente as especificações ou os parâmetros do Server Load Balancer (SLB) para o ack-ingress-nginx, talvez seja necessário aplicar os mesmos ajustes ao ack-ingress-nginx-v1. Configure o service usando Annotations controller.service (rede pública) ou controller.service.internal (rede privada). Consulte Configure Classic Load Balancer (CLB) using Annotations para CLB ou Configure Network Load Balancer (NLB) using Annotations para NLB.

Step 2: Create and validate Ingress routing rules

Copie as regras de roteamento de Ingress existentes, atualize o Ingress Class e aplique-as para evitar interrupções no tráfego. Por exemplo:

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

Crie uma nova regra de roteamento de Ingress.

  • Ao usar Annotations, altere apenas o nome do Ingress Class. Mantenha todas as demais configurações sem alteração.

    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
  • Para usar spec.ingressClassName em vez de Annotations, crie uma nova regra de Ingress e atualize o nome do Ingress Class em spec.ingressClassName.

Após criar a nova regra de Ingress, valide-a atualizando o arquivo de hosts local para resolver o nome de domínio com o novo endereço ip do CLB.

Step 3: Migrate traffic

Após validar as novas regras de roteamento de Ingress, migre o tráfego para o ack-ingress-nginx-v1 atualizando os registros DNS.

Acesse o Alibaba Cloud DNS console ou o console DNS do seu provedor de domínio. Atualize o registro DNS para apontar para o novo endereço ip. Monitore a aplicação durante a propagação do DNS e faça rollback se necessário. Use os logs do container ou Metrics para acompanhar o progresso da migração.

Next steps

Após migrar todo o tráfego e confirmar o funcionamento normal, exclua a aplicação ack-ingress-nginx original. Acesse o Container Service for Kubernetes console. Selecione o cluster, escolha Applications > Helm, localize o release e clique em Delete.