advanced
HPA
Автомасштабируйте реплики workloads по CPU, memory или custom-метрикам с учётом readiness и лимитов ёмкости.
HPA меняет число реплик по метрикам CPU, memory или custom-сигналам (глубина очереди, RPS). Поглощает переменную нагрузку при корректных requests, метриках и readiness.
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: api
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: api
minReplicas: 2
maxReplicas: 20
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
Масштабирование по CPU требует `requests`. Custom metrics — adapters и осмысленные бизнес-сигналы.
На интервью: HPA с readiness и cold start; узкие места БД; почему autoscaling не чинит неэффективный код сам.
Типовые ошибки: без requests CPU scaling ненадёжен; рост app tier перегружает БД или сторонние API.
Компромисс — эластичная ёмкость против насыщения downstream и стоимости.
Чеклист:
- Resource requests на workloads.
- Масштабирование по meaningful metrics.
- Проверка ёмкости downstream.
- HPA вместе с cluster autoscaling осознанно.