Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Migrer les contrôleurs d'entrée NGINX lors de l'activation du mode automatique Amazon EKS
Créée par Olawale Olaleye (AWS) et Shamanth Devagari (AWS)
Récapitulatif
Le mode automatique EKS pour Amazon Elastic Kubernetes Service (Amazon EKS) peut réduire la charge opérationnelle liée à l'exécution de vos charges de travail sur des clusters Kubernetes. Ce mode AWS permet également de configurer et de gérer l'infrastructure en votre nom. Lorsque vous activez le mode automatique EKS sur un cluster existant, vous devez planifier soigneusement la migration des configurations du contrôleur d'entrée NGINX
Vous pouvez utiliser une stratégie de déploiement bleu/vert pour migrer une instance de NGINX Ingress Controller lorsque vous activez le mode automatique EKS dans un cluster Amazon EKS existant.
Conditions préalables et limitations
Prérequis
Un actif Compte AWS
Un cluster Amazon EKS exécutant Kubernetes version 1.29 ou ultérieure
Extensions Amazon EKS exécutant des versions minimales
Dernière version de kubectl
Une instance de NGINX Ingress
Controller existante (Facultatif) Une zone hébergée dans Amazon Route 53 pour le transfert de trafic basé sur le DNS
Architecture
Un déploiement bleu/vert est une stratégie de déploiement dans laquelle vous créez deux environnements distincts mais identiques. Les déploiements bleu/vert offrent des fonctionnalités de lancement et de restauration quasi nulles. L'idée fondamentale est de transférer le trafic entre deux environnements identiques qui exécutent des versions différentes de votre application.
L'image suivante montre la migration des équilibreurs de charge réseau à partir de deux instances différentes de NGINX Ingress Controller lors de l'activation du mode automatique EKS. Vous utilisez un déploiement bleu/vert pour transférer le trafic entre les deux équilibreurs de charge réseau.

L'espace de noms d'origine est l'espace de noms bleu. C'est ici que s'exécutent le service et l'instance NGINX Ingress Controller d'origine, avant que vous n'activiez le mode automatique EKS. Le service et l'instance d'origine se connectent à un Network Load Balancer dont le nom DNS est configuré dans Route 53. Le AWS Load Balancer Controller
Le schéma montre le flux de travail suivant pour configurer un environnement pour un déploiement bleu/vert :
Installez et configurez une autre instance de NGINX Ingress Controller dans un espace de noms différent, un espace de noms vert.
Dans Route 53, configurez un nom DNS pour un nouveau Network Load Balancer.
Outils
Services AWS
Amazon Elastic Kubernetes Service (Amazon EKS) vous permet d'exécuter AWS Kubernetes sans avoir à installer ou à gérer votre propre plan de contrôle ou vos propres nœuds Kubernetes.
Elastic Load Balancing répartit le trafic applicatif ou réseau entrant sur plusieurs cibles. Par exemple, vous pouvez répartir le trafic entre les instances, les conteneurs et les adresses IP d'Amazon Elastic Compute Cloud (Amazon EC2) dans une ou plusieurs zones de disponibilité.
Amazon Route 53 est un service Web DNS hautement disponible et évolutif.
Amazon Virtual Private Cloud (Amazon VPC) vous aide à lancer AWS des ressources dans un réseau virtuel que vous avez défini. Ce réseau virtuel ressemble à un réseau traditionnel que vous pourriez exécuter dans votre propre centre de données et présente l'avantage d'utiliser l'infrastructure évolutive d' AWS.
Autres outils
Helm
est un gestionnaire de packages open source pour Kubernetes qui vous aide à installer et à gérer des applications sur votre cluster Kubernetes. kubectl
est une interface de ligne de commande qui vous permet d'exécuter des commandes sur des clusters Kubernetes. Le NGINX Ingress Controller
connecte les applications et les services Kubernetes à la gestion des demandes, à l'authentification, aux ressources personnalisées en libre-service et au débogage.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Vérifiez que l'instance NGINX Ingress Controller d'origine est opérationnelle. | Entrez la commande suivante pour vérifier que les ressources de l'espace de
Dans le résultat, vérifiez que les pods du NGINX Ingress Controller sont en cours d'exécution. Voici un exemple de résultat :
| DevOps ingénieur |
Tâche | Description | Compétences requises |
---|---|---|
Créez les ressources Kubernetes. | Entrez les commandes suivantes pour créer un exemple de déploiement, de service et d'entrée Kubernetes :
| DevOps ingénieur |
Passez en revue les ressources déployées. | Entrez la commande suivante pour afficher la liste des ressources déployées :
Dans le résultat, vérifiez que le HTTPd module d'échantillonnage est en cours d'exécution. Voici un exemple de résultat :
| DevOps ingénieur |
Vérifiez que le service est joignable. | Entrez la commande suivante pour vérifier que le service est accessible via le nom DNS du Network Load Balancer :
Le résultat attendu est le suivant :
| DevOps ingénieur |
(Facultatif) Créez un enregistrement DNS. |
| DevOps ingénieur, AWS DevOps |
Tâche | Description | Compétences requises |
---|---|---|
Activez le mode automatique EKS. | Suivez les instructions de la section Activer le mode automatique EKS sur un cluster existant (documentation Amazon EKS). | AWS DevOps |
Tâche | Description | Compétences requises |
---|---|---|
Configurez une nouvelle instance de NGINX Ingress Controller. |
| DevOps ingénieur |
Déployez la nouvelle instance NGINX Instance Controller. | Entrez la commande suivante pour appliquer le fichier manifeste modifié :
| DevOps ingénieur |
Confirmez le déploiement réussi. | Entrez la commande suivante pour vérifier que les ressources de l'espace de
Dans le résultat, vérifiez que les pods du NGINX Ingress Controller sont en cours d'exécution. Voici un exemple de résultat :
| DevOps ingénieur |
Créez une nouvelle entrée pour l'exemple de HTTPd charge de travail. | Entrez la commande suivante pour créer une nouvelle entrée pour l'exemple de HTTPd charge de travail existant :
| DevOps ingénieur |
Vérifiez que la nouvelle entrée fonctionne. | Entrez la commande suivante pour vérifier que la nouvelle entrée fonctionne :
Le résultat attendu est le suivant :
| DevOps ingénieur |
Tâche | Description | Compétences requises |
---|---|---|
Passez au nouvel espace de noms. |
| AWS DevOps, DevOps ingénieur |
Passez en revue les deux entrées. | Entrez la commande suivante pour passer en revue les deux entrées créées pour l'exemple de HTTPd charge de travail :
Voici un exemple de résultat :
| DevOps ingénieur |
Ressources connexes
Activer le mode automatique EKS sur un cluster existant (documentation Amazon EKS)
Résoudre les problèmes liés aux équilibreurs de charge créés par le contrôleur de service Kubernetes dans Amazon EKS
(Re:Post Knowledge Center)AWS Contrôleur d'entrée NGINX
(documentation NGINX)