Je suis récemment entré dans le programme de bourses d’études Cloud Native Foundations d’Udacity, et avec cela, mon interaction quotidienne avec Kubernetes a augmenté. L’exposition est bonne parce que j’apprends Kubernetes et corrige des problèmes et partage quelques astuces pour résoudre mes problèmes ici.
L’un d’eux consiste à supprimer tous les pods d’un ReplicaSet. J’ai répondu à de nombreuses questions sur StackOverflow avec des finaliseurs d’une ligne qui feraient le travail instantanément, mais ce n’était que des essais et des erreurs avec 20 commandes pour trouver celle-ci. En plus de cela, il n’est pas recommandé de coller des finaliseurs aléatoires que vous ne comprenez pas sur le terminal. De plus, même si je suis un grand fan de la recherche sur Google, j’en ai marre de rechercher 10 fois les mêmes requêtes sur Google.
Supprimer tous les pods dans ReplicaSet (Mon approche)
Le but d’un ReplicaSet est de maintenir un nombre cohérent de pods toujours en cours d’exécution. En conséquence, vous pouvez adapter le nombre de pods (de manière déclarative/impérative) à tout ce que votre serveur peut gérer.
Théoriquement, vous pouvez mettre à l’échelle votre ReplicaSet à zéro pod, et c’est ce que j’ai fait en utilisant la sous-commande scale en mettant le nombre de pods à 0 sur le ReplicaSet.
La commande impérative suivante m’a aidé à supprimer tous les pods d’un ReplicaSet sans supprimer le ReplicaSet.
kubectl scale rs/new-replica-set --replicas=0
Ici new-replica-set
serait remplacé par le ReplicaSet dont vous souhaitez supprimer les pods. Vous pouvez déployer de nouveaux pods via le ReplicaSet à l’aide de la commande ci-dessus avec la valeur dans --replicas
comme le nombre de dosettes souhaité ou par voie déclarative en utilisant kubectl edit replicaset new-replica-set
.
Supprimer ReplicaSet + Pods
Il s’agit d’une approche standard et simple si vous souhaitez supprimer le ReplicaSet ainsi que les pods ensemble en utilisant la sous-commande delete avec new-replica-set remplacé par le nom du ReplicaSet que vous souhaitez supprimer.
kubectl delete rs new-replica-set
Bon apprentissage!