как быстро завершить проверку готовности Kubernetes?

#kubernetes #readinessprobe

#kubernetes #проверка готовности

Вопрос:

Если модуль выходит из строя в моем кластере, требуется около 15 секунд или больше, чтобы определить сбой с помощью логики проверки готовности, которая не принимается из-за сбоя вызова (поскольку kubernetes не идентифицирует сбой модуля, поэтому он отправит трафик на отказавший модуль / я имею в виду, что отказавший модуль все еще находится в конечная точка службы cluster-P).

Пожалуйста, предложите здесь, как немедленно вывести из строя датчик готовности или как немедленно удалить конечную точку в случае сбоя, не сильно сокращая промежуток времени до менее 5 секунд.

Ниже приведена моя конфигурация:

 initialDelaySeconds:90s
periodSeconds:5s
timeoutSeconds:2s
successThreshold:<default>
failureThreshold:<default>
  

Заранее благодарю.

Ответ №1:

Что вы можете сделать, так это настроить конфигурацию вашего зонда в соответствии с вашими требованиями:

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

  • initialDelaySeconds : Количество секунд после запуска контейнера до запуска проверки работоспособности или готовности. По умолчанию 0 секунд. Минимальное значение равно 0.

  • periodSeconds : Как часто (в секундах) выполнять проверку. По умолчанию 10 секунд. Минимальное значение равно 1.

  • timeoutSeconds : Количество секунд, по истечении которых время ожидания проверки истекло. По умолчанию значение равно 1 секунде. Минимальное значение равно 1.

  • successThreshold : Минимальные последовательные успехи, чтобы проверка считалась успешной после сбоя. По умолчанию используется значение 1. Должно быть 1 для живучести. Минимальное значение равно 1.

  • failureThreshold : При сбое проверки Kubernetes попробует выполнить пороговую ошибку, прежде чем сдаться. Отказ в случае проверки работоспособности означает перезапуск контейнера. В случае проверки готовности модуль будет помечен как неготовый. По умолчанию используется значение 3. Минимальное значение равно 1.

Вы не указали failureThreshold значение, поэтому по умолчанию оно равно 3. Значения, которые вы используете в данный момент, потребуют ~ 15-20 секунд, чтобы считать модуль сбойным и перезапустить его.

Если вы установите минимальные значения для , , и вы можете ожидать более частых проверок и более быстрых повторных запусков модуля. periodSeconds timeoutSeconds successThreshold failureThreshold

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

1. Большое спасибо за быстрый ответ.

2. Есть ли какой-либо альтернативный способ немедленно удалить модуль из службы cluster-IP?