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

Расскажи про работу с Kubernetes: liveness probe и readiness probe — в чём разница? Requests и limits ресурсов — зачем их два?

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

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

sobes.tech AI

Liveness probe проверяет, живо ли приложение, то есть не зависло ли оно. Если liveness probe не проходит, Kubernetes перезапускает контейнер. Это помогает автоматически восстанавливать упавшие или зависшие сервисы.

Readiness probe проверяет, готово ли приложение принимать трафик. Если readiness probe не проходит, Kubernetes не направляет запросы на этот под, но контейнер не перезапускается. Это важно при старте приложения или во время обновлений.

Requests и limits ресурсов задают разные вещи:

  • Requests — это гарантированный минимум ресурсов (CPU, память), который Kubernetes резервирует для контейнера. Планировщик использует эти значения, чтобы определить, на какой ноде разместить под.
  • Limits — это максимальный предел ресурсов, который контейнер может использовать. Если контейнер превысит лимит, например, по памяти, он может быть убит.

Пример конфигурации в Pod spec:

resources:
  requests:
    memory: "128Mi"
    cpu: "250m"
  limits:
    memory: "256Mi"
    cpu: "500m"

Таким образом, requests обеспечивают стабильность планирования, а limits — контроль за потреблением ресурсов, чтобы один контейнер не «съел» всё.