Kubernetes, vous trouvez ça génial, mais rien ne vous empêche d’exécuter des commandes qui vont casser votre beau jouet. Alors, comment réduire ces risques ? En implémentant un « Admission Controller » !
Pour gérer les clusters Kubernetes, nous utilisons principalement la commande kubectl. Or, un jour, un collègue a voulu détruire tous les Pods existants en exécutant la commande « kubectl delete po --all ». Seulement, il a fait une coquille et a exécuté la commande « kubectl delete no --all » ! Voyez-vous la différence ? Il a répondu « yes » à la question posée et a donc détruit tous les Nodes au lieu de détruire tous les Pods ! Vent de panique, tout est en rade... Que faire ? Pas le choix, il faut appliquer la procédure de restauration du cluster etcd et espérer qu’elle fonctionne !
Le calme revient et une réflexion s’impose : que pourrait-on faire pour éviter que cette mauvaise expérience ne se reproduise ? L’architecture de Kubernetes nous propose une solution plutôt simple : écrivons un Admission Controller qui va interdire les destructions d’objets jugés sensibles !
1. Kubernetes et les Admission Controllers
1.1 Petit rappel sur...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première