Какие существуют виды проб для проверки состояния служб и приложений?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Существует несколько распространенных видов проб:
-
Liveness Probe: Определяет, работает ли приложение. Если проба не проходит, Kubernetes перезагружает под. Используется для обнаружения зависших процессов.
- HTTP Get Probes: Отправляет HTTP GET запросы на указанный путь и порт.
- TCP Socket Probes: Проверяет возможность подключения к указанному порту.
- Exec Probes: Выполняет команду внутри контейнера и проверяет код возврата.
-
Readiness Probe: Определяет, готов ли под принимать трафик. Если проба не проходит, сервис не направляет трафик на этот под. Используется для определения готовности приложения после запуска или во время обновления.
- Использует те же механизмы, что и Liveness Probes (HTTP Get, TCP Socket, Exec).
-
Startup Probe: Определяет, завершилась ли инициализация приложения. Если проба настроена, Kubernetes не будет выполнять Liveness и Readiness проб до тех пор, пока Startup Proba не пройдет успешно. Полезно для медленно запускающихся приложений, чтобы предотвратить преждевременные перезагрузки Liveness Probe.
- Использует те же механизмы, что и другие пробы.
Пример конфигурации в Kubernetes:
livenessProbe: # Проверка живости
httpGet: # По HTTP
path: /healthz # Путь
port: 8080 # Порт
initialDelaySeconds: 15 # Задержка перед первой проверкой
timeoutSeconds: 1 # Время ожидания ответа
readinessProbe: # Проверка готовности
tcpSocket: # По TCP
port: 8080 # Порт
initialDelaySeconds: 5 # Задержка перед первой проверкой
periodSeconds: 10 # Интервал между проверками