Horizontal Pod Autoscaler (HPA) — это компонент Kubernetes, который автоматически масштабирует количество подов в деплойменте, реплика-сете или стейтфулсете на основе текущей нагрузки. Обычно HPA использует метрики, такие как загрузка CPU или пользовательские метрики, чтобы определить, нужно ли увеличить или уменьшить количество реплик.
Что такое HPA (Horizontal Pod Autoscaler)? Как работает?
Horizontal Pod Autoscaler (HPA) — это компонент Kubernetes, который автоматически масштабирует количество подов в деплойменте, реплика-сете или стейтфулсете на основе текущей нагрузки.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Horizontal Pod Autoscaler (HPA) — это компонент Kubernetes, который автоматически масштабирует количество подов в деплойменте, реплика-сете или стейтфулсете на основе текущей нагрузки. Обычно HPA использует метрики, такие как загрузка CPU или пользовательские метрики, чтобы определить, нужно ли увеличить или уменьшить количество реплик.
Принцип работы:
- HPA периодически опрашивает метрики (например, CPU usage) у подов.
- Сравнивает текущие значения с заданными целевыми (target).
- Если нагрузка выше целевой, увеличивает количество подов, если ниже — уменьшает.
Пример манифеста HPA, масштабирующего деплоймент по CPU:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: example-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: example-deployment
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50
Таким образом, HPA помогает автоматически адаптировать количество подов под текущую нагрузку, обеспечивая баланс между производительностью и ресурсами.