Насколько я понимаю, после ожидания в течение 45 секунд Kubernetes будет нажимать / heartbeat и ждать ответа в течение 5 секунд. Если он не получит ответа, он попытается выполнить 5 раз (каждые 60 секунд). Будет ли Kubernetes продолжать проверку готовности по истечении 5x60 секунд = 5 минут? Если сервис появится через 6 минут, будет ли этот модуль отмечен как готовый? Второй вопрос: продолжает ли он использовать failureThreshold и другие настройки готовности?
readinessProbe:
httpGet:
path: /heartbeat
port: 8080
initialDelaySeconds: 45
timeoutSeconds: 5
periodSeconds: 60
failureThreshold: 5
livenessProbe:
httpGet:
path: /summary
port: 8080
initialDelaySeconds: 180
timeoutSeconds: 1
periodSeconds: 60
failureThreshold: 5
В общем правильно:
считывает зонд будет инициирован после: initialDelaySeconds: 45 # (задержка) Количество секунд после запуска контейнера перед запуском проверки работоспособности или готовности.
periodSeconds: 60 # (Как часто в секундах) для выполнения зондов. По умолчанию 10 секунд. Минимальное значение - 1.
timeoutSeconds: 5 # (время до ответа) Количество секунд, по истечении которого зонд выходит из строя. По умолчанию 1 секунда. Минимальное значение - 1,
failureThreshold: 5 # (сколько попыток будет сделано) перед тем, как отказаться) В случае проверки готовности модуль будет отмечен как «Не готов». По умолчанию 3. Минимальное значение - 1,
когда failureThreshold для зонда livenes будет достигнут - kubelet автоматически выполнит правильное действие в соответствии с политикой перезапуска модуля,
После того, как порог failureThreshold для readinesprobe будет установлен, модуль будет отмечен как Не готов. (По умолчанию 3. Минимальное значение 1.).
Согласно документации:
- Когда Pod не готов, он удаляется из балансировщиков нагрузки службы.
- Примечание. Зонды готовности работают с контейнером в течение всего его жизненного цикла.
Ресурсы: