Поделиться через


Масштабирование вертикального узла

Область применения: AKS в Azure Local 22H2, AKS на Windows Server

Вы можете изменить размер виртуальных машин в заданном пуле узлов, чтобы увеличить ресурсы, доступные пулу узлов в AKS, включенном Azure Arc.

Чтобы обеспечить соответствие требованиям приложений в Служба Azure Kubernetes (AKS), может потребоваться настроить количество узлов, выполняющих рабочие нагрузки. В некоторых случаях горизонтальное масштабирование кластера путем добавления узлов недостаточно для удовлетворения требований приложения для получения дополнительных ядер ЦП или памяти.

Без вертикального масштабирования узлов необходимо повторно развернуть в новом пуле узлов и переместить приложение. Эта ситуация может не быть идеальной в ограниченных пограничных средах ресурсов. Чтобы обеспечить эту гибкость, AKS Arc представляет возможность изменить размер виртуальной машины (SKU) виртуальных машин в заданном пуле узлов.

Как работает масштабирование вертикальных узлов в AKS Arc

В AKS Arc пулы узлов целевого кластера управляются внутри системы как machineDeployment. Одно из свойств machineDeployment — это размер виртуальной машины (SKU), выбранный при New-AksHciNodePool выполнении команды.

Чтобы изменить пул узлов на другой размер виртуальной машины (SKU), можно использовать Set-AksHciNodePool команду для изменения размера виртуальной машины для рабочих узлов и Set-AksHciCluster команды, чтобы изменить размер виртуальной машины для узлов уровня управления.

При отправке команды с новым размером виртуальной машины (SKU) создается новый компьютерDeployment для пула узлов или кластера, заменив существующий набор компьютеров. Это событие активирует поток обновления в базовой системе развертывания. Аналогично обновлению версии ОС или Kubernetes, новый компьютерDeployment использует последовательное обновление для замены одной виртуальной машины в пуле узлов или плоскости управления после другой. Каждое обновление проверяет правильное оцепление старого узла и очистку перед удалением.

Примечание.

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

Пример процесса

В следующем примере показано вертикальное масштабирование узлов.

Изменение размера виртуальной машины для пула рабочих узлов Linux с 4 ядрами и 6 ГБ памяти на 4 ядра и 8 ГБ памяти

Сначала проверьте текущий размер виртуальной машины пула узлов в кластере mycluster. В выходных данных вы увидите, что размер виртуальной машины :Standard_K8S3_v1

get-akshcinodepool -clustername mycluster
Status       : {Error, Phase, Details}
ClusterName  : mycluster
NodePoolName : mycluster-linux
Version      : v1.22.4
OsType       : Linux
NodeCount    : 2
VmSize       : Standard_K8S3_v1
Phase        : scaling

Standard_K8S3_v1 В списке доступных размеров виртуальных машин показано, что он имеет 4 ядра и 6 ГБ памяти:

Get-AksHciVmSize
VmSize           CPU MemoryGB
------           --- --------
Default          4   4
Standard_A2_v2   2   4
Standard_A4_v2   4   8
Standard_D2s_v3  2   8
Standard_D4s_v3  4   16
Standard_D8s_v3  8   32
Standard_D16s_v3 16  64
Standard_D32s_v3 32  128
Standard_DS2_v2  2   7
Standard_DS3_v2  2   14
Standard_DS4_v2  8   28
Standard_DS5_v2  16  56
Standard_DS13_v2 8   56
Standard_K8S_v1  4   2
Standard_K8S2_v1 2   2
Standard_K8S3_v1 4   6

Новый размер, установленный для 4 ядер и 8 ГБ памяти Standard_A4_v2. Чтобы обновить пул mycluster-linuxузлов, используйте Set-AksHciNodePool командлет, который был обновлен, чтобы принять -VMsize параметр:

Set-AksHciNodePool -ClusterName mycluster -name mycluster-linux -vmsize Standard_A4_v2

Через несколько минут процесс завершится. Вы можете проверить результат, снова выполнив Get-AksHciNodePool команду и убедившись, что VmSize сейчас:Standard_A4_v2

get-akshcinodepool -clustername mycluster
Status       : {Error, Phase, Details}
ClusterName  : mycluster
NodePoolName : mycluster-linux
Version      : v1.22.4
OsType       : Linux
NodeCount    : 2
VmSize       : Standard_A4_v2
Phase        : scaling

Следующие шаги

См. документацию по обновленным командам PowerShell: