Может ли горизонтальное масштабирование модуля работать только с одним узлом?

#kubernetes #google-kubernetes-engine

#kubernetes #google-kubernetes-engine

Вопрос:

Я новичок в Kubernetes, и у меня есть сомнения по поводу автоматического масштабирования модуля по горизонтали. Могу ли я применить HPA только к одному узлу? Если да, то каковы преимущества HPA, использующего только один узел?

Если я использую приведенные ниже показатели, цель говорит averageUtilization о 50% процессора. Означает ли это, что мне нужен новый узел после достижения значения?

 metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 50
  

Любой совет?

Ответ №1:

Вот несколько заметок, которые могут помочь вам разобраться:

Да, вы можете использовать автоматическое масштабирование модуля по горизонтали только на одном узле.

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

Но если у вас больше модулей вашего приложения, вы можете оказаться в ситуации, когда вам понадобятся дополнительные узлы для обработки нагрузки.

Чтобы определить, сколько модулей может работать на одном узле, kubernetes использует концепцию ограничений ресурсов и запросов.

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

Масштабирование узлов вашего кластера не обрабатывается HPA, для этого вам нужно использовать kubernetes cluster autoscaler.

Комментарии:

1. Это полезно, большое спасибо @stackoverflowjakob