Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Mettre à niveau ack-ingress-nginx depuis Marketplace

Dernière mise à jour :Sep 21, 2026

Remplacez ack-ingress-nginx par ack-ingress-nginx-v1 pour prendre en charge Kubernetes 1.24 et versions ultérieures.

Contexte

ACK Kubernetes 1.24 déprécie les ressources Ingress v1beta1. ack-ingress-nginx installe Nginx Ingress Controller 0.44.0, qui utilise v1beta1. Après la mise à niveau vers Kubernetes 1.24, ce contrôleur n'est plus disponible.

ack-ingress-nginx-v1 utilise Nginx Ingress Controller ≥ 1.1.0. Remplacez ack-ingress-nginx par ack-ingress-nginx-v1 pour maintenir le contrôleur opérationnel.

Remarque

Cela ne s'applique pas au Nginx Ingress Controller géré via Component Management. Pour mettre à niveau ce composant, consultez Mettre à niveau le composant Nginx Ingress Controller.

Prérequis

  • La version du cluster est 1,20 ou ultérieure.

    Remarque

    Le Chart ack-ingress-nginx-v1 4.0.17+ (composant v1.8.0-aliyun.1+) nécessite une version de cluster 1.22 ou ultérieure. Pour la version de cluster 1.20, utilisez le Chart 4.0.16 (composant v1.2.1-aliyun.1).

  • ack-ingress-nginx est installé depuis Marketplace.

Étape 1 : Créer une application ack-ingress-nginx-v1

Créer une application ack-ingress-nginx-v1 depuis Marketplace

Pour chaque application ack-ingress-nginx, déployez une application ack-ingress-nginx-v1 correspondante comme décrit dans Déployer plusieurs contrôleurs Ingress pour isoler le trafic.

Remarque

Ne définissez pas controller.ingressClassResource.name dans ack-ingress-nginx-v1 avec la même valeur que controller.ingressClass dans ack-ingress-nginx. Des classes Ingress conflictuelles peuvent entraîner des problèmes de stabilité du contrôleur.

(Facultatif) Ajuster les spécifications et paramètres SLB

Si vous avez précédemment ajusté les spécifications ou paramètres de Server Load Balancer (SLB) pour ack-ingress-nginx, appliquez également les mêmes ajustements à ack-ingress-nginx-v1. Configurez le Service à l'aide des annotations controller.service (réseau public) ou controller.service.internal (réseau privé). Consultez Configurer Classic Load Balancer (CLB) à l'aide d'annotations pour CLB ou Configurer Network Load Balancer (NLB) à l'aide d'annotations pour NLB.

Étape 2 : Créer et valider les règles de routage Ingress

Copiez vos règles de routage Ingress existantes, mettez à jour la classe Ingress et appliquez-les pour éviter toute interruption du trafic. Par exemple :

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

Créez une nouvelle règle de routage Ingress.

  • Lorsque vous utilisez des annotations, modifiez uniquement le nom de la classe Ingress. Conservez toutes les autres configurations inchangées.

    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 vous utilisez spec.ingressClassName au lieu d'annotations, créez une nouvelle règle Ingress et mettez à jour le nom de la classe Ingress dans spec.ingressClassName.

Après avoir créé la nouvelle règle Ingress, validez-la en mettant à jour votre fichier hosts local pour résoudre le nom de domaine vers la nouvelle adresse IP du CLB.

Étape 3 : Migrer le trafic

Après avoir validé les nouvelles règles de routage Ingress, migrez le trafic vers ack-ingress-nginx-v1 en mettant à jour les enregistrements DNS.

Connectez-vous à la console Alibaba Cloud DNS ou à la console DNS de votre fournisseur de domaine. Mettez à jour l'enregistrement DNS pour qu'il pointe vers la nouvelle adresse IP. Surveillez votre application pendant la propagation DNS et effectuez un retour arrière si nécessaire. Utilisez les journaux de conteneur ou les métriques pour suivre la progression de la migration.

Étapes suivantes

Après avoir migré tout le trafic et confirmé le bon fonctionnement, supprimez l'application ack-ingress-nginx d'origine. Connectez-vous à la console Container Service for Kubernetes. Sélectionnez votre cluster, choisissez Applications > Helm, trouvez la release et cliquez sur Delete.