2016-08-22 2 views
-2

Подковы, с которыми я работаю, управляются кубернетами. Когда я использую команду перезагрузки docker для перезагрузки модуля, иногда модуль получает новый идентификатор, а иногда и старый. Когда pod получает новый идентификатор, его состояние сначала переходит в бег -> error-> crashloopbackoff. Может кто-нибудь, пожалуйста, скажите мне, почему это происходит. Кроме того, как часто делает kubernetes делает проверку работоспособностиkubernetes pods перезапускаются с новым ID

+0

Не прикасайтесь к контейнерам Kubernetes с помощью команды 'docker'. Вероятно, Кубернетес считает контейнер умершим и создает новый. – svenwltr

+0

Когда K8S создает новый блок после того, как он умрет, он будет использовать случайный идентификатор. Используйте 'kubectl' для управления k8s, а не командой docker. – ajtrichards

ответ

2

Kubernetes в настоящее время, не использовать docker restart команд по многим причинам (например, сохраняющих журналы старых контейнеров). Kubelet, демон на узле, создает новый контейнер, если существующий контейнер завершен. В любом случае пользователи не должны выполнять операции жизненного цикла контейнера (например, останавливать, перезапускать) на контейнерах, управляемых кубернетами, непосредственно с помощью докеров, так как это может вызвать неожиданное поведение.

EDIT: Если вы хотите, чтобы кубернеты автоматически перезапускали ваш контейнер, установите RestartPolicy в спецификации вашего телефона на «Always» или «OnFailure». Для получения дополнительной информации см. http://kubernetes.io/docs/user-guide/pod-states/

Смежные вопросы