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?
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 .
À 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
kubectl get pods listera 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 une meilleure manipulation vérifiez 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 cochez ici