Comment vérifier, mettre à l'échelle, supprimer ou drainer mes nœuds de travail dans Amazon EKS ?
J'ai lancé mes nœuds de travail Amazon Elastic Kubernetes Service (Amazon EKS) à l'aide d'eksctl ou de la console de gestion AWS. Je souhaite maintenant vérifier, mettre à l'échelle, drainer ou supprimer mes nœuds de travail.
Brève description
Suivez les étapes de la section appropriée en fonction de vos besoins :
- Vérification de vos nœuds de travail
- Mise à l'échelle de vos nœuds de travail
- Drainage de vos nœuds de travail
- Suppression de vos nœuds de travail
Résolution
Vérification de vos nœuds de travail
Pour répertorier les nœuds de travail enregistrés dans le plan de contrôle Amazon EKS, exécutez la commande suivante :
kubectl get nodes -o wide
Le résultat renvoie le nom, la version Kubernetes, le système d'exploitation et l'adresse IP des nœuds de travail.
Pour obtenir des informations supplémentaires sur un seul nœud de travail, exécutez la commande suivante :
kubectl describe node/node_name
Remarque : remplacez node_name par votre valeur. Par exemple : ip-XX-XX-XX-XX.us-east-1.compute.internal
Le résultat affiche plus d'informations sur le nœud de travail, notamment les étiquettes, les altérations, les informations système et l'état.
Mise à l'échelle de vos nœuds de travail
Remarque : Si vos groupes de nœuds apparaissent dans la console Amazon EKS, utilisez un groupe de nœuds gérés. Dans le cas contraire, utilisez un groupe de nœuds non gérés.
(Option 1) Pour mettre à l'échelle vos nœuds de travail gérés ou non gérés à l'aide d'eksctl, exécutez la commande suivante :
eksctl scale nodegroup --cluster=clusterName --nodes=desiredCount --name=nodegroupName
Remarque : remplacez clusterName, desiredCount et nodegroupName par vos valeurs.
- ou -
(Option 2) Pour mettre à l'échelle vos nœuds de travail gérés sans eksctl, suivez les étapes de la section « Modifier la configuration d'un groupe de nœuds » de Mise à jour d'un groupe de nœuds gérés.
- ou -
(Option 3) Pour mettre à l'échelle vos nœuds de travail non gérés à l'aide d'AWS CloudFormation, suivez les étapes suivantes :
1. Utilisez un modèle AWS CloudFormation pour lancer vos nœuds de travail pour Windows ou Linux.
2. Modifiez les paramètres NodeAutoScalingGroupDesiredCapacity, NodeAutoScalingGroupMinSize ou NodeAutoScalingGroupMaxSize dans votre pile AWS CloudFormation.
Drainage de vos nœuds de travail
Remarque : L'action de drainage isole le nœud de travail et indique à Kubernetes d'arrêter la planification de nouveaux pods sur le nœud. Les pods s'exécutant sur le nœud cible sont expulsés des nœuds de drainage, ce qui signifie que les pods seront arrêtés. Prenez en compte les conséquences que cela peut avoir sur votre environnement de production.
Vous pouvez drainer un groupe de nœuds entier ou un seul nœud de travail. Choisissez l'option appropriée.
(Option 1) Drainez l'ensemble du groupe de nœuds :
Si vous utilisez eksctl pour lancer vos nœuds de travail, exécutez la commande suivante :
eksctl drain nodegroup --cluster=clusterName --name=nodegroupName
Remarque : remplacez clusterName et nodegroupName par vos valeurs.
Pour décorder le groupe de nœuds, exécutez la commande suivante :
eksctl drain nodegroup --cluster=clusterName --name=nodegroupName --undo
Remarque : remplacez clusterName et nodegroupName par vos valeurs.
Si vous n'utilisez pas eksctl pour lancer vos nœuds de travail, identifiez et drainez tous les nœuds d'une version particulière de Kubernetes. Par exemple :
#!/bin/bash K8S_VERSION=1.18.8-eks-7c9bda nodes=$(kubectl get nodes -o jsonpath="{.items[?(@.status.nodeInfo.kubeletVersion==\"v$K8S_VERSION\")].metadata.name}") for node in ${nodes[@]} do echo "Draining $node" kubectl drain $node --ignore-daemonsets --delete-local-data done
Pour identifier et décorder tous les nœuds d'une version particulière de Kubernetes, utilisez le code suivant :
#!/bin/bash K8S_VERSION=1.18.8-eks-7c9bda nodes=$(kubectl get nodes -o jsonpath="{.items[?(@.status.nodeInfo.kubeletVersion==\"v$K8S_VERSION\")].metadata.name}") for node in ${nodes[@]} do echo "Uncordon $node" kubectl uncordon $node done
Remarque : Pour obtenir la version de votre nœud de travail, exécutez la commande suivante :
$ kubectl get nodes NAME STATUS ROLES AGE VERSION ip-XXX-XXX-XX-XXX.ec2.internal Ready <none> 6d4h v1.18.8-eks-7c9bda ip-XXX-XXX-XX-XXX.ec2.internal Ready <none> 6d4h v1.18.8-eks-7c9bda
Remarque : Le numéro de version apparaît dans la colonne VERSION.
(Option 2) Drainez un seul nœud de travail :
Si vous n'utilisez pas eksctl pour lancer vos nœuds de travail ou si vous souhaitez drainer uniquement un nœud précis, exécutez la commande suivante pour isoler correctement votre nœud de travail :
kubectl drain node_name --ignore-daemonsets
Remarque : remplacez node_name par votre valeur.
Pour annuler l'isolation, exécutez les commandes suivantes :
kubectl uncordon node_name
Remarque : remplacez node_name par votre valeur.
Pour migrer vos applications existantes vers un nouveau groupe de nœuds de travail, consultez la section Migration vers un nouveau groupe de nœuds de travail.
Suppression de vos nœuds de travail
Remarque : La suppression est irréversible. Prenez en compte l'impact que cela peut avoir sur votre environnement de production.
Si vous utilisez eksctl, exécutez la commande suivante :
eksctl delete nodegroup --cluster=clusterName --name=nodegroupName
Si vous disposez d'un groupe de nœuds gérés, suivez les étapes de Suppression d'un groupe de nœuds gérés.
Si vous disposez d'un groupe de nœuds non gérés et que vous avez lancé vos nœuds de travail avec un modèle CloudFormation, supprimez la pile CloudFormation. Vous devez supprimer la pile que vous avez créée pour votre groupe de nœuds pour Windows ou Linux.
Si vous disposez d'un groupe de nœuds non gérés et que vous n'avez pas utilisé de modèle CloudFormation pour lancer vos nœuds de travail, supprimez le groupe Auto Scaling pour vos nœuds de travail. Vous pouvez également résilier l'instance directement si vous n'avez pas utilisé de groupe Auto Scaling.

Contenus pertinents
- demandé il y a 4 moislg...
- demandé il y a 6 jourslg...
- demandé il y a un moislg...
- demandé il y a 3 moislg...
- demandé il y a 2 moislg...
- AWS OFFICIELA mis à jour il y a 2 mois
- AWS OFFICIELA mis à jour il y a 10 mois
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a 2 ans