Todos os produtos
Search
Central de documentação

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

Última atualização: Jun 27, 2026

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

Contexto

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 a versão v1beta1. Após a atualização para o Kubernetes 1.24, esse controlador torna-se indisponível.

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 controlador em execução.

Nota

Esta orientação não se aplica ao Nginx Ingress Controller disponível no Gerenciamento de Componentes. Para atualizar esse componente, consulte Atualizar o componente Nginx Ingress Controller.

Pré-requisitos

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

    Nota

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

  • O ack-ingress-nginx está instalado a partir do Marketplace.

Etapa 1: Crie uma aplicação ack-ingress-nginx-v1

Crie uma aplicação ack-ingress-nginx-v1 pelo Marketplace

Para cada aplicação ack-ingress-nginx existente, implante uma aplicação correspondente do ack-ingress-nginx-v1 conforme descrito em Implantar múltiplos Ingress Controllers para isolar o tráfego.

Nota

Não defina o parâmetro controller.ingressClassResource.name no ack-ingress-nginx-v1 com o mesmo valor de controller.ingressClass no ack-ingress-nginx. Classes de Ingress conflitantes podem causar problemas de estabilidade no controlador.

(Opcional) Ajuste especificações e parâmetros do SLB

Caso tenha ajustado anteriormente as especificações ou parâmetros do Server Load Balancer (SLB) para o ack-ingress-nginx, aplique 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 Configurar o Classic Load Balancer (CLB) usando Annotations para CLB ou Configurar o Network Load Balancer (NLB) usando Annotations para NLB.

Etapa 2: Crie e valide regras de roteamento de Ingress

Copie as regras de roteamento de Ingress existentes, atualize a Ingress Class e aplique-as para evitar interrupções no tráfego. 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 da Ingress Class. Mantenha todas as outras configurações inalteradas.

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

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

Etapa 3: Migre o tráfego

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

Faça login no console do Alibaba Cloud DNS ou no console DNS do 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 logs de contêineres ou métricas para acompanhar o progresso da migração.

Próximas etapas

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