K8s/Openshift — заботится ли контроллер репликации о состоянии выхода модулей/контейнеров?

#kubernetes #openshift-3

Вопрос:

Обязанность контроллера репликации в K8S/Openshift состоит в том, чтобы убедиться, что фактическое состояние совпадает с желаемым состоянием. Таким образом, если желаемое состояние-2 модуля, то это гарантирует, что будет создано/запущено ровно 2 модуля. Если модуль по какой-либо причине выходит из строя, контроллер репликации гарантирует, что он перезапустит новый модуль, чтобы компенсировать сбой модуля.

Вещь, которую я хочу подтвердить, если модуль/контейнер существует с ошибкой — тогда контроллер репликации позаботится о коде ошибки и обнаружит, что модуль выходит из строя из-за ошибки, и, следовательно, решит больше не запускать модуль. ?? Пожалуйста, Ответьте.

Комментарии:

1. Тем не менее, в качестве комментария я хотел бы добавить — одна из целей контроллера репликации-справиться с ситуацией сбоя/завершения модулей, с ошибкой или без нее. И компенсируйте вышедший из строя модуль новым, независимо от причины первоначального отказа модуля.

Ответ №1:

Вещь, которую я хочу подтвердить, если модуль/контейнер существует с ошибкой, то будет ли контроллер репликации заботиться о коде ошибки и обнаружит, что модуль выходит из строя из — за ошибки, и, следовательно, решит не запускать модуль дальше. ??

Ошибки могут быть показаны многими различными способами:

  • Код ошибки в журнале приложений
  • Код ошибки в полезной нагрузке сообщения
  • Код ошибки в коде состояния http в ответе
  • Код выхода из процесса

Только код завершения последнего процесса полезен для контроллера репликации (или, в более новых Kubernetes, контроллера набора реплик). Если процесс завершится, модуль завершится, и контроллер создаст новый.

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

Комментарии:

1. If the process exit, the Pod is terminated and a new will be created by the controller. — я приму это как — выход с ошибкой или без ошибки — Контроллер репликации запустит модуль замены.

2. Да, это верно. Контроллер репликации заботится о «желаемом состоянии» — количестве запущенных реплик.

3. Спасибо. 1. В моем использовании меня не беспокоит проверка livenessProbe, сбой которой означает перезапуск модуля на основе политики перезапуска. Ваш ответ касается моей проблемы.