Comment savoir quand / si / pourquoi un conteneur dans un cluster kubernetes redémarre?

30

J'ai un cluster kubernetes à nœud unique dans le moteur de conteneur Google pour jouer avec.

Deux fois maintenant, un petit site Web personnel que j'héberge est hors ligne depuis quelques minutes. Lorsque je consulte les journaux du conteneur, je vois la séquence de démarrage normale récemment terminée, je suppose donc qu'un conteneur est mort (ou a été tué?) Et redémarré.

Comment puis-je comprendre comment et pourquoi cela se produit?

Existe-t-il un moyen d'obtenir une alerte chaque fois qu'un conteneur démarre / s'arrête de manière inattendue?

Marc Hughes
la source

Réponses:

38

Vous pouvez afficher les derniers journaux de redémarrage d'un conteneur à l'aide de:

kubectl journal podname -c nom_contenu --previous

Comme décrit par Sreekanth, kubectl get pods devrait vous montrer le nombre de redémarrages, mais vous pouvez également exécuter

kubectl décrivent pod podname

Et il vous montrera les événements envoyés par le kubelet à l'apiserver sur les événements du cycle de vie du pod.

Vous pouvez également écrire un message final dans / dev / terminaison-log, et cela s'affichera comme décrit dans la documentation .

bips
la source
10

À côté des réponses précédentes, une autre commande qui m'a aidé à trouver une erreur est:

kubectl get event [--namespace=my-namespace]

Il répertorie également les événements des modules, des travaux et des nœuds

Maximiliano De Lorenzo
la source
8

kubectl get pods répertorie en fait tous les redémarrages du conteneur. La commande describe peut également être utile car elle répertorie tous les événements associés au pod.

Les sondes de vivacité et les sondes de préparation peuvent être configurées pour un meilleur contrôle de la manipulation ici

De plus, les crochets peuvent être configurés pour être consommés dans le conteneur à des moments spécifiques du cycle de vie du conteneur. Vérifiez ici

Sreekanth Pothanis
la source
Veuillez développer les liens dans la réponse. Sinon -1. :)
Konrad Gajewski