Como posso saber quando / se / por que um contêiner em um cluster kubernetes é reiniciado?

30

Eu tenho um cluster de kubernetes de nó único no mecanismo de contêiner do Google para brincar.

Duas vezes agora, um pequeno site pessoal que hospedo ficou offline por alguns minutos. Quando visualizo os logs do contêiner, vejo a sequência normal de inicialização concluída recentemente, portanto, presumo que um contêiner morreu (ou foi morto?) E reiniciado.

Como posso descobrir como e por que isso está acontecendo?

Existe uma maneira de receber um alerta sempre que um contêiner iniciar / parar inesperadamente?

Marc Hughes
fonte

Respostas:

38

Você pode visualizar os últimos logs de reinicialização de um contêiner usando:

registros do kubectl podname -c containerername --Histórico

Conforme descrito por Sreekanth, os pods do kubectl get devem mostrar o número de reinicializações, mas você também pode executar

O kubectl descreve o pod podname

E mostrará os eventos enviados pelo kubelet ao apiserver sobre os eventos de ciclo de vida do pod.

Você também pode escrever uma mensagem final em / dev / termination-log, e isso será exibido conforme descrito nos documentos .

bips
fonte
10

Ao lado das respostas anteriores, outro comando que me ajudou a encontrar um erro é:

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

Ele também lista eventos de pods, trabalhos e nós

Maximiliano De Lorenzo
fonte
8

O kubectl get pods listará todas as reinicializações do contêiner e também o comando de descrição pode ajudar, pois lista todos os eventos associados ao pod.

As sondas de vida útil e de prontidão podem ser configuradas para uma melhor manipulação, verifique aqui

Além disso, os ganchos podem ser configurados para serem consumidos no contêiner em pontos específicos do ciclo de vida do contêiner. Verifique aqui

Sreekanth Pothanis
fonte
Por favor, expanda os links para a resposta. Caso contrário, -1. :)
Konrad Gajewski