Sobes.tech
Назад к вопросам
Senior
10

Что такое пробы (probes) в Kubernetes, как их настроить и какие есть виды?

Компании, где спрашивали
VKVK

Ответ от нейросети

sobes.tech AI

В Kubernetes пробы (probes) — это механизмы проверки состояния контейнеров, которые помогают контроллеру управления (kubelet) понять, работает ли контейнер корректно и готов ли он принимать трафик.

Есть три основных вида проб:

  1. Liveness Probe — проверяет, жив ли контейнер. Если проверка не проходит, контейнер перезапускается.
  2. Readiness Probe — проверяет, готов ли контейнер принимать запросы. Если нет, то сервис не направляет трафик на этот контейнер.
  3. Startup Probe — используется для проверки успешного запуска контейнера, особенно если он долго стартует. Пока эта проверка не прошла, не запускаются другие пробы.

Настройка проб происходит в манифесте Pod в разделе containers через поля livenessProbe, readinessProbe и startupProbe. Внутри можно указать тип проверки:

  • HTTP GET запрос на определённый путь и порт
  • Выполнение команды (exec)
  • TCP Socket проверка

Пример настройки livenessProbe с HTTP GET:

livenessProbe:
  httpGet:
    path: /healthz
    port: 8080
  initialDelaySeconds: 10
  periodSeconds: 5

Здесь Kubernetes через 10 секунд после старта начнёт каждые 5 секунд делать запрос на /healthz порта 8080, чтобы проверить состояние контейнера.