TGViewer
CORTEL CORTEL @cortel_cloud · 4.07K subscribers
Post #2776 1.16K
💻 Probes в Kubernetes:
как кластер понимает, что под работает и готов принимать запросы

Kubernetes не может оценить состояние приложения без специальных проверок. Процесс может быть запущен, но при этом висеть в дедлоке или ещё не успеть прогрузить кеш.

Для этого и существуют probes — проверки, по результатам которых kubelet принимает решения о перезапуске и направлении трафика.

➡️ Виды probe

— livenessProbe — контролирует работоспособность контейнера. При провале kubelet перезапускает контейнер. Применяется, когда приложение может «зависнуть» без падения процесса.
— readinessProbe — проверяет, готов ли контейнер принимать трафик. При провале под убирается из конечных точек сервиса, но не перезапускается. Используется для прогрева, ожидания зависимостей (БД, кеш).
— startupProbe — проверяет, успело ли приложение стартовать. Пока она не пройдена, liveness и readiness заморожены. Нужна для медленно стартующих приложений, чтобы их не убивало раньше времени.

➡️ Как работают?

Каждая probe выполняется одним из трёх способов:

— httpGet — HTTP-запрос на путь и порт, успех при коде 200–399
— tcpSocket — проверка, что порт открыт
— exec — выполнение команды внутри контейнера, успех при коде возврата 0


containers:
- name: app
image: my-app
startupProbe:
httpGet:
path: /healthz
port: 8080
failureThreshold: 30
periodSeconds: 10
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 0
periodSeconds: 10
failureThreshold: 3
readinessProbe:
httpGet:
path: /ready
port: 8080
periodSeconds: 5
failureThreshold: 2


🔧 Основные параметры

— initialDelaySeconds — задержка перед первой проверкой
— periodSeconds — как часто выполнять проверку
— timeoutSeconds — таймаут одной проверки
— successThreshold — сколько успехов подряд считать восстановлением (для liveness/startup всегда 1)
— failureThreshold — сколько провалов подряд считать отказом

Пример со startupProbe выше даёт приложению до 30 × 10 = 300 секунд на запуск, после чего управление переходит к liveness.

Probes — это не формальность в манифесте, а контракт между приложением и кластером. Liveness помогает kubelet принять решение о перезапуске контейнера, readiness показывает, можно ли направлять на pod трафик, startup даёт приложению время на корректный запуск. Разделение этих ролей напрямую влияет на стабильность сервиса при деплоях и сбоях.

#заметкиИнженера
  • ❤ 5
  • 👍 3
  • 🔥 3
More from @cortel_cloud
  1. Oct 1, 2026🖥 sed — потоковый редактор текста в Linux 🤓 Появился в Bell Labs в 1970-х и до сих пор и…
  2. Sep 29, 2026🖥 РАЗНИЦА Block, File и Object Storage 🧑‍🎓Повторение — мать учения. Для разных задач по…
  3. Sep 25, 2026😎 Когнитивная РАЗгрузка За неделю с горящими дедлайнами, часовыми ВКС и постоянным перекл…
  4. Sep 23, 2026💻 kubectl diff: обработка изменений в CI/CD kubectl diff сравнивает текущую конфигурацию…
  5. Sep 18, 2026🛡 ДА! У НАС ЦЕЛАЯ ЧЕРЕДА ПОЛЕЗНЫХ ЭФИРОВ ПРО ИБ! 🎙 Уже 24 сентября Вероника Нечаева, выс…
  6. Sep 16, 2026👩‍💻 Работа с ПДн это непрерывный процесс. Компания меняется — появляются новые сервисы,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →