В чем разница между жизненным циклом Pod и живучестью?

Иногда появляются мои поды, которые перезапускаются автоматически, но у меня еще нет живости. Я читал, что жизненный цикл модуля может заключаться в том, что, когда вы не указываете RestartPolicy, по умолчанию всегда, а при сбое контейнера он автоматически перезапускается. Но я запутался, потому что подумал, что это должна делать живость. И поскольку жизненный цикл уже делает это, для чего мне использовать зонд живучести? И поскольку это две разные вещи, в чем разница между ними?

2 ответа

Решение

Если ваше приложение в контейнере выйдет из строя само по себе, k8s перезапустит его автоматически. Если у вас есть зонд живучести, ваш POD может быть перезапущен, если зонд живучести выйдет из строя. Итак, в вашей ситуации, поскольку у вас нет проверки живучести, это, вероятно, связано с сбоем вашего приложения.

И поскольку жизненный цикл уже делает это, для чего мне использовать зонд живучести?

Допустим, ваше приложение может перейти в состояние, в котором оно больше не выполняет запросы, но не разбилось (иначе говоря, оно все еще работает). Это может произойти, если, например, у вас где-то в коде есть тупик. В этом случае может пригодиться зонд живучести. Зонд может проверить, находится ли приложение в этом состоянии блокировки. Если это так, зонд живучести откажет, и POD перезапустится.

И поскольку это две разные вещи, в чем разница между ними?

Разница в том, может ли ваше приложение перейти в состояние, в котором оно фактически не работает (не может должным образом выполнять запросы), оставаясь при этом технически активным (PID в контейнере все еще работает). Если ваше приложение может перейти в такое состояние, я бы сказал, что проверка живучести - хорошая идея. Было бы неплохо, если бы вы не знали ответа на этот вопрос. Если зонд живучести не причинит вреда, то это может быть хорошей идеей. Вам просто нужно избегать перезапуска идеально исправного POD, если проблем нет.

Обратитесь к этой документации, в которой объясняется ответ.

Другие вопросы по тегам