Учитывает ли HPA(горизонтальное автоматическое масштабирование модуля) среднее значение загрузки ЦП нескольких контейнеров (в модуле) для масштабирования модуля?

Я хотел бы знать, если HPA учитывает среднее использование ЦП для нескольких контейнеров в модуле, чтобы увеличить / уменьшить число. стручков. Например, если я укажу HPA, как показано ниже, для развертывания (модуля), в котором есть 2 контейнера. Для того, чтобы HPA расширялся, требуется ли загрузка ЦП до 80% в обоих контейнерах? Другими словами, если у контейнера A загрузка процессора составляет 80%, а у контейнера B загрузка процессора составляет только 60%. Означает ли это, что капсулы не будут увеличены HPA. Насколько я заметил, это так. Но я не уверен в этом, поскольку в документации kubernetes нет явного заявления по этому поводу. И, к сожалению, я не лучший разработчик, чтобы выяснить это из исходного кода. Любая помощь и, если возможно, со ссылкой, будет принята с благодарностью. Огромное спасибо.

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  name: blackbox-rc-hpa
  namespace: monitoring
spec:
  scaleTargetRef:
    apiVersion: v1
    kind: extensions/v1beta1
    name: blackbox
  minReplicas: 1
  maxReplicas: 4
  targetCPUUtilizationPercentage: 80

3 ответа

Решение

Контроллер вычисляет значение использования в процентах от контейнеров в каждом модуле, а затем принимает среднее значение. Таким образом, ваше среднее значение будет 70% https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/

Запрашиваемые ресурсы модуля - это сумма ресурсов, запрошенных всеми контейнерами. Таким образом, в этом сценарии вы, вероятно, используете процессор на 70%.

Допуск 10% targetCPUUtilizationPercentage, В вашем случае среднее использование ЦП должно быть больше 88% для запуска увеличения и менее 72% для уменьшения. Поскольку средняя загрузка ЦП составляет 70%, ваши реплики будут уменьшены до 1.

Другие вопросы по тегам