Senior
Cuéntame sobre el trabajo con Kubernetes: ¿en qué se diferencian la sonda de vivacidad y la sonda de disponibilidad? ¿Por qué hay dos cosas como requests y limits de recursos?
sobes.tech AI
Respuesta de la IA
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 — контроль за потреблением ресурсов, чтобы один контейнер не «съел» всё.