У меня есть кластер Kubernetes с одним узлом в движке контейнеров Google, с которым можно поиграть.
Дважды небольшой личный веб-сайт, который я размещаю на нем, отключался на пару минут. Когда я просматриваю журналы контейнера, я вижу, что обычная последовательность запуска была недавно завершена, поэтому я предполагаю, что контейнер умер (или был убит?) И перезапустился.
Как я могу понять, как и почему это происходит?
Есть ли способ получить предупреждение, когда контейнер неожиданно запускается / останавливается?
Вы можете просмотреть журналы последнего перезапуска контейнера, используя:
kubectl регистрирует имя модуля -c имя контейнера --предыдущее
Как описано Sreekanth, kubectl get pods должен показывать вам количество перезапусков, но вы также можете запустить
kubectl описать имя модуля модуля
И он покажет вам события, отправленные kubelet в apiserver о событиях жизненного цикла модуля.
Вы также можете написать последнее сообщение в / dev / termination-log, и оно будет отображаться, как описано в документы.
Помимо предыдущих ответов, еще одна команда, которая помогла мне найти ошибку:
kubectl get event [--namespace=my-namespace]
В нем перечислены события из модулей, заданий и узлов.
kubectl get pods фактически перечислит все перезапуски контейнера, также может помочь команда description, так как в ней перечислены все события, связанные с модулем.
Датчики живучести и готовности можно настроить для более удобного обращения проверьте здесь
Кроме того, крючки можно настроить для использования в контейнере в определенные моменты жизненного цикла контейнера. проверьте здесь