web-dev-qa-db-fra.com

Comment redémarrer un pod défaillant dans le déploiement de kubernetes

J'ai 3 nœuds dans le cluster Kubernetes. J'ai créé un daemonset et je l'ai déployé sur les 3 appareils. Ce daemonset a créé 3 pods et ils s'exécutaient avec succès. Mais pour certaines raisons, l'un des pod a échoué.

J'ai besoin de savoir comment pouvons-nous redémarrer ce pod sans affecter les autres pods du groupe de démons, sans créer aucun autre déploiement de groupe de démons?

Merci

18
S Andrew

kubectl delete pod <podname> _ il supprimera ce pod et DaemonSet en reportera un nouveau

38

Juste pour les autres lisant ceci ...

Une meilleure solution (IMHO) consiste à implémenter un liveness prob qui forcera le pod à redémarrer le conteneur s’il échoue au test de la sonde.

C'est une fonctionnalité intéressante que K8s offre en sortie de boîte. Ceci est la guérison automatique.

Regardez également dans le module cycle de vie .

7
Eldad Assis

kubectl -n <namespace> delete pods --field-selector=status.phase=Failed

Je pense que la commande ci-dessus est très utile lorsque vous souhaitez redémarrer un ou plusieurs pods en échec: D

Et nous n'avons pas besoin de nous soucier du nom du pod échoué.

0
Thọ Quách