Sobes.tech
Back to questions
Senior
4

Что такое HPA (Horizontal Pod Autoscaler)? Как работает?

Companies where asked
WildberriesWildberries

Answer from AI

sobes.tech AI

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 помогает автоматически адаптировать количество подов под текущую нагрузку, обеспечивая баланс между производительностью и ресурсами.