GKE HPA предназначен только для загрузки ЦП узла, а не для целевых развертываний - PullRequest
0 голосов
/ 26 марта 2020

У меня два узла A и B, работающие на узле, я настроил hpas следующим образом:

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: A
  namespace: default
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: A
  minReplicas: 1
  maxReplicas: 4
  metrics:
    - type: Resource
      resource:
        name: cpu
        targetAverageUtilization: 75

(и то же самое для B, но с заменой имен, конечно).

Однако при мониторинге HPA целевое использование ЦП ВСЕГДА одинаково для обоих HPA, и, следовательно, A и B всегда масштабируются в одно и то же время, даже если их моделируемые рабочие нагрузки различны, поэтому кажется, что HPA нацеливается на использование процессора узла, а не развертывание. Дальнейшее тестирование путем запуска заданий, независимых от A и B на узле, по-прежнему вызывает масштабирование HPA A и B.

Как я могу настроить его так, чтобы каждый HPA ТОЛЬКО предназначался для использования ЦП целевого развертывания?

1 Ответ

1 голос
/ 27 марта 2020

Метри c имя cpu слишком расплывчато и не нацелено на загрузку ЦП модуля. Поскольку вы просто хотите использовать стандартный процессор pod, я рекомендую использовать версию HPA v1 вместо v2Beta1 и определить 75 в поле targetCPUUtilizationPercentage, поскольку это относится конкретно к загрузке CPU pod

...