Toute opération de maintenance sur Kubernetes est une disruption volontaire. La différence entre une maintenance réussie et un incident en production, c'est la méthode : cordon, drain, intervention, uncordon, dans cet ordre, avec les bons garde-fous.
Les PodDisruptionBudget sont le filet de sécurité : ils garantissent
que vos interventions respectent les contraintes de disponibilité des
applications, y compris lors d'une mise à jour d'urgence, moment où
personne ne relit les manifestes.
Le workflow de maintenance
Section intitulée « Le workflow de maintenance »-
Vérifier l'état initial,
kubectl get nodesetkubectl get pods -Apour confirmer que le cluster est sain avant d'intervenir. -
Cordon du nœud,
kubectl cordon <nœud>marque le nœud comme non-schedulable : les nouveaux pods ne seront plus placés dessus. -
Drain des pods,
kubectl drain <nœud> --ignore-daemonsets --delete-emptydir-dataévacue les pods existants vers d'autres nœuds. -
Intervention, maintenance OS, remplacement de disque, mise à jour des composants, reboot.
-
Uncordon,
kubectl uncordon <nœud>rend le nœud à nouveau éligible au scheduling une fois la maintenance terminée. -
Vérification,
kubectl describe node <nœud>pour confirmer le retour à l'étatReady.
Guides de cette section
Section intitulée « Guides de cette section »Contrôle de connaissances
Section intitulée « Contrôle de connaissances »Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.
Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
Informations
- Le chronomètre démarre au clic sur Démarrer
- Questions à choix multiples, vrai/faux et réponses courtes
- Vous pouvez naviguer entre les questions
- Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
Vérification
(0/0)Profil de compétences
Quoi faire maintenant
Ressources pour progresser
Des indices pour retenter votre chance ?
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications
À retenir
Section intitulée « À retenir »- Ne jamais intervenir directement sur un nœud sans l'avoir drainé, les pods pourraient être interrompus brutalement
- Les DaemonSets ne sont pas évacués par drain (normal), utilisez
--ignore-daemonsets - Les emptyDir sont effacés par drain, vérifiez que ces données sont dispensables ou persistées ailleurs
- La version skew policy n'a pas de règle unique : le
kubeletetkube-proxytolèrent 3 mineures de retard surkube-apiserverdepuis Kubernetes 1.25, le controller-manager et le scheduler 1 seule, etkubectlreste à 1 mineure de l'API, en avance comme en retard - Upgrader dans l'ordre de kubeadm :
kubeadmsur le premier control plane, puiskubeadm upgrade apply, puiskubeletetkubectlsur ce nœud, et enfin les autres nœuds un par un aveckubeadm upgrade node
Pour aller plus loin
Section intitulée « Pour aller plus loin »- Gérer les nœuds : Le cordon, le drain et la remise en service d'un nœud sans coupure visible.
- Mettre à jour un cluster : La montée de version du control plane puis des nœuds, le changement le plus risqué du cycle.
- Fiabiliser les applications : Les PodDisruptionBudgets et l'anti-affinité qui rendent une maintenance transparente.