Kubernetes : comment redémarrer un container unique au sein d'un pod ?

Si vous souhaitez automatiser vos containers d'applications créés avec Docker, vous pouvez utiliser la plateforme Kubernetes. Elle permet également de gérer des clusters de serveurs. Vous pouvez créer des pods qui eux-mêmes peuvent contenir un ou plusieurs containers. Si vous souhaitez redémarrer un container, voire un pod, la procédure à suivre est particulière.

En effet, il n'existe pas de commande particulière pour redémarrer un container ou même un pod. Si vous souhaitez le faire, vous devez vous appuyer sur le comportement de la plateforme. Par défaut, Kubernetes applique une politique consistant à redémarrer un pod ou un container qui s'est arrêté. Si vous n'avez pas changé le comportement de la plateforme, alors vous pouvez stopper le container ou le pod pour le redémarrer. Pour un container, vous pouvez directement utiliser Docker. La commande "docker kill" permet de "tuer" un container qui est en train de s'exécuter.

docker kill mon-container

Les pods sont des éléments propres à Kubernetes. C'est donc cette plateforme qui peut les stopper. On utilise pour cela une commande de suppression du pod. Un nouveau pod identique sera créé à la place. Le nouveau pod n'aura par contre pas le même identifiant que l'ancien. Vous devrez utiliser la commande "kubectl get pods" pour obtenir l'identifiant du nouveau pod.

# Supprime un pod
kubectl delete pod ud-de-mon-pod
# Affiche la liste des pods pour trouver le nouveau qui remplace celui qui est effacé
kubectl get pods