¿Cómo puedo saber cuándo / si / por qué se reinicia un contenedor en un clúster de kubernetes?

30

Tengo un clúster de kubernetes de un solo nodo en el motor de contenedor de Google para jugar.

Dos veces ahora, un pequeño sitio web personal que alojo en él se ha desconectado durante un par de minutos. Cuando veo los registros del contenedor, veo la secuencia de inicio normal recientemente completada, por lo que asumo que un contenedor murió (¿o se mató?) Y se reinició.

¿Cómo puedo averiguar cómo y por qué sucede esto?

¿Hay alguna manera de recibir una alerta cuando un contenedor se inicia / detiene inesperadamente?

Marc Hughes
fuente

Respuestas:

38

Puede ver los últimos registros de reinicio de un contenedor utilizando:

kubectl registra podname -c containername --previous

Según lo descrito por Sreekanth, los pods de Kubectl get deberían mostrarle el número de reinicios, pero también puede ejecutar

kubectl describe podname podname

Y le mostrará los eventos enviados por el kubelet al apiserver sobre los eventos del ciclo de vida.

También puede escribir un mensaje final en / dev / termination-log, y esto aparecerá como se describe en los documentos .

pitidos
fuente
10

Además de las respuestas anteriores, otro comando que me ayudó a encontrar un error es:

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

También enumera eventos de Pods, Jobs, Nodes

Maximiliano De Lorenzo
fuente
8

kubectl get pods en realidad enumerará cualquier reinicio del contenedor, también el comando describe puede ser útil porque enumera todos los eventos asociados con el pod.

Sondas y sondas de preparación liveness se pueden configurar para un mejor manejo de verificación aquí

Además ganchos pueden ser configurados para ser consumidos en el contenedor en puntos específicos en el ciclo de vida del contenedor cheque aquí

Sreekanth Pothanis
fuente
Por favor expanda los enlaces en la respuesta. De lo contrario -1. :)
Konrad Gajewski