Sobes.tech
Back to questions
Middle+
195

Как настроить горизонтальный автоскейлер для подов на физическом сервере?

Answer from AI

sobes.tech AI

Для настройки горизонтального автоскейлинга (Horizontal Pod Autoscaler, HPA) на физическом сервере (bare-metal) в Kubernetes нужно выполнить несколько шагов:

  1. Убедиться, что в кластере настроен Metrics Server — он собирает метрики CPU и памяти, необходимые для работы HPA.

  2. Настроить мониторинг ресурсов подов и нод — без облачной инфраструктуры нужно использовать локальные решения, например, Prometheus с адаптерами для HPA.

  3. Создать HPA-объект, указав целевые метрики и минимальное/максимальное количество реплик. Например:

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
  1. Обеспечить корректную работу контроллера HPA и метрик — на bare-metal иногда требуется дополнительная настройка RBAC и сетевых политик.

  2. Тестировать автоскейлинг нагрузкой и мониторить поведение.

Важно: на физическом сервере нет облачных API для масштабирования, поэтому HPA работает только на уровне подов, а масштабирование нод нужно делать вручную или с помощью других инструментов.