Skip to the content.

✅ Чеклист по нулевому времени простоя в Kubernetes

🔴 Обновления (RollingUpdate)

Компонент Настройка Цель Риски при отсутствии
Deployment strategy spec.strategy.rollingUpdate.maxUnavailable: 0 Исключить падение количества pod ниже replicas при обновлении Потеря доступности при rollout
ReadinessProbe / StartupProbe Настроены Не направлять трафик на неготовые pod Ошибки 5xx, падение RPS
LivenessProbe Только при необходимости Перезапуск «зависших» контейнеров Флаппинг pod при неверной настройке
PreStop hook + terminationGracePeriodSeconds Добавлен sleep перед SIGTERM Дать время убрать pod из endpoints Потеря запросов при остановке pod

Полезные факты:

🟠 Ресурсы и планирование

Компонент Настройка Цель Риски при отсутствии
CPU/Memory Requests Заданы Используются для планирования под на ноду и для HPA (среднее потребление) Pod может быть запущен на перегруженной ноде, HPA не сможет адекватно масштабироваться
CPU/Memory Limits Заданы Используются только для ограничения использования ресурсов Возможен OOMKill и деградация работы других pod

Полезные факты:

🟡 Автоскейлинг

Компонент Настройка Цель Риски при отсутствии
HorizontalPodAutoscaler (HPA) maxReplicas = 2× пиковая нагрузка (по нагрузочному тесту) Масштабирование под нагрузку Недостаток pod в пике, ошибки 5xx
HPA scaleDown stabilization stabilizationWindowSeconds ≥ 600 Исключить резкие флуктуации реплик «Пила» при кратковременных просадках RPS

Полезные факты:

🟢 Доступность при обслуживании (Maintenance)

Компонент Настройка Цель Риски при отсутствии
PodDisruptionBudget (PDB) minAvailable или maxUnavailable Минимальное число pod при drain/upgrade Одновременное завершение всех pod
TopologySpreadConstraints Распределение pod по zone или hostname Устойчивость к отказу ноды/зоны Снижение доступности при падении ноды

Полезные факты:

🔵 Fault Tolerance (устойчивость к ошибкам)

Компонент Настройка Цель Риски при отсутствии
Service Mesh Circuit Breaker Outlier detection (Istio / Linkerd) Изоляция «плохих» pod, защита от каскадных отказов Срыв всей системы из-за единичных pod с ошибками
Circuit Breaker параметры consecutiveErrors, maxEjectionPercent Управляемый вывод pod из пула Массовые ошибки, перегрузка клиентов
Timeouts (Linkerd) request: 2s Ограничение времени ответа Подвисшие запросы блокируют клиентов
Retries (Linkerd) attempts: 2 Повтор неудачных запросов Потеря запросов при временных сбоях

Полезные факты: