Как мне узнать, когда / если / почему контейнер в кластере kubernetes перезапускается?

30

У меня есть один узел kubernetes кластер в движке контейнера Google, чтобы поиграть.

Дважды небольшой персональный веб-сайт, на котором я размещаюсь, отключался на пару минут. Когда я просматриваю журналы контейнера, я вижу, что обычная последовательность запуска недавно завершена, поэтому я предполагаю, что контейнер умер (или был убит?) И перезапущен.

Как я могу понять, как и почему это происходит?

Есть ли способ получить предупреждение, когда контейнер неожиданно запускается / останавливается?

Марк Хьюз
источник

Ответы:

38

Вы можете просмотреть последние журналы перезапуска контейнера, используя:

kubectl logs podname -c имя_ контейнера - предыдущий

Как описано Sreekanth, kubectl get pods должен показывать количество перезапусков, но вы также можете запустить

kubectl описать под имя

И он покажет вам события, отправленные kubelet к серверу о жизненных циклах стручка.

Вы также можете написать окончательное сообщение в / dev / termination-log, и оно будет отображаться, как описано в документации .

гудка
источник
10

Помимо предыдущих ответов, другая команда, которая помогла мне найти ошибку:

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

В нем перечислены события из стручков, рабочих мест, а также узлов

Максимилиано Де Лоренцо
источник
8

kubectl get pods на самом деле перечислит любые перезапуски контейнера, а также может помочь команда description, поскольку она перечисляет любые события, связанные с модулем.

Датчики живучести и тесты готовности могут быть настроены для лучшей проверки обработки здесь

Кроме того , крючки могут быть сконфигурированы для потребления в контейнере в определенных точках в жизненном цикле контейнера проверки здесь

Срикант Потанис
источник
Пожалуйста, расширьте ссылки в ответ. В противном случае -1. :)
Конрад Гаевский