Contactez-nous

Observer le nombre de Pods

Apprenez à utiliser les commandes kubectl pour vérifier efficacement le nombre actuel de Pods de votre Déploiement Nginx après une opération de mise à l'échelle sur Kubernetes.

Confirmer le résultat du scaling : une étape essentielle

Après avoir demandé une mise à l'échelle de votre Déploiement, que ce soit via `kubectl scale` ou en modifiant le manifeste, il est crucial de vérifier que l'opération s'est déroulée comme prévu. Avez-vous réellement le nombre de Pods désiré ? Sont-ils tous opérationnels ? L'observation active du nombre et de l'état des Pods est la méthode directe pour confirmer le succès de la mise à l'échelle.

Ne pas vérifier pourrait masquer des problèmes sous-jacents : peut-être que le cluster manque de ressources pour créer les nouveaux Pods (scale-up), ou que des Pods spécifiques refusent de se terminer proprement (scale-down). Utiliser les commandes `kubectl` appropriées vous permet de diagnostiquer rapidement la situation réelle de votre déploiement.

Utiliser `kubectl get pods` pour un décompte précis

La commande la plus fondamentale pour lister les Pods est `kubectl get pods`. Pour cibler spécifiquement les Pods de notre application Nginx, nous utilisons le sélecteur de label que nous avons défini :

kubectl get pods -l app=nginx

Cette commande affichera la liste de tous les Pods portant le label `app=nginx`. Pour vérifier le résultat de la mise à l'échelle, il suffit de compter le nombre de lignes retournées (en excluant l'en-tête). Si vous avez demandé 4 réplicas, vous devriez voir 4 lignes de Pods.

Portez également attention à la colonne `STATUS`. Idéalement, tous les Pods listés devraient être en état `Running`. Lors d'un scale-up, vous pourriez brièvement voir des Pods en `Pending` ou `ContainerCreating`. Lors d'un scale-down, vous verrez les Pods excédentaires passer en état `Terminating` avant de disparaître de la liste.

# Exemple après un scale à 4 réplicas réussis
NAME                                READY   STATUS    RESTARTS   AGE
nginx-deployment-7dcf5c6bbf-4g5h8   1/1     Running   0          2m
nginx-deployment-7dcf5c6bbf-k9lmn   1/1     Running   0          2m
nginx-deployment-7dcf5c6bbf-pqrst   1/1     Running   0          1m
nginx-deployment-7dcf5c6bbf-xyz12   1/1     Running   0          1m

Le simple décompte des Pods `Running` est un indicateur fiable du succès de l'opération.

Vérifier le résumé avec `kubectl get deployment`

Une autre façon rapide de vérifier l'état global du scaling est d'inspecter le Déploiement lui-même :

kubectl get deployment nginx-deployment

Cette commande fournit un résumé concis. La colonne la plus pertinente ici est `READY`. Elle affiche le nombre actuel de réplicas prêts sur le nombre total désiré (`actuel/désiré`).

# Exemple après un scale à 4 réplicas
NAME               READY   UP-TO-DATE   AVAILABLE   AGE
nginx-deployment   4/4     4            4           15m

Si vous voyez `4/4` dans `READY` après avoir demandé 4 réplicas, cela confirme que Kubernetes a non seulement atteint le nombre cible, mais que tous ces Pods sont considérés comme opérationnels et prêts à servir du trafic. Les colonnes `UP-TO-DATE` et `AVAILABLE` donnent des informations complémentaires sur la santé et la conformité du déploiement par rapport à son état désiré.

Observation en temps réel avec `--watch`

Pour une observation plus dynamique, notamment pendant que le scaling est en cours, vous pouvez ajouter l'option `--watch` (ou `-w`) à la commande `kubectl get pods` :

kubectl get pods -l app=nginx -w

Cette commande ne se termine pas immédiatement mais reste active, affichant les changements d'état des Pods en temps réel. Lors d'un scale-up, vous verrez les nouveaux Pods apparaître et passer par les différents états (`Pending`, `ContainerCreating`, `Running`). Lors d'un scale-down, vous verrez les Pods ciblés passer à l'état `Terminating`. C'est un excellent moyen de visualiser le processus d'ajustement automatique géré par Kubernetes.

En maîtrisant ces commandes d'observation, vous gagnez en visibilité sur le comportement de vos déploiements et pouvez valider rapidement et efficacement les opérations de mise à l'échelle, une compétence fondamentale pour gérer des applications sur Kubernetes.