Руководство. Масштабирование приложений в AKS с поддержкой Azure Arc

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

Если вы выполнили предыдущие руководства, у вас должен быть рабочий кластер Kubernetes в AKS, а также развернут пример приложения Azure для голосования.

В этом руководстве, часть 5 из семи, описывается, как масштабировать модули pod в приложении. Вы узнаете, как:

  • Масштабирование узлов Kubernetes.
  • Масштабирование модулей pod Kubernetes вручную для выполнения приложения.

В последующих руководствах описано, как обновить приложение Azure для голосования до новой версии.

Перед началом

В предыдущих руководствах описывается, как упаковать приложение в образ контейнера, отправить образ в Реестр контейнеров Azure и создать кластер Kubernetes. Затем приложение было развернуто в кластере. Если вы еще не выполнили эти действия, начните с учебника 1. Подготовка приложения для гибридного использования AKS.

Масштабирование pod вручную

В предыдущих руководствах было описано, как развернуть внешний интерфейс Azure Vote и экземпляр Redis, чтобы создать один реплика. Чтобы просмотреть количество и состояние модулей pod в кластере, используйте следующую команду kubectl get :

kubectl get pods

В следующем примере выходных данных показано по одному интерфейсному и серверному модулю pod:

NAME                               READY     STATUS    RESTARTS   AGE
azure-vote-back-2549686872-4d2r5   1/1       Running   0          31m
azure-vote-front-848767080-tf34m   1/1       Running   0          31m

Чтобы вручную изменить количество модулей pod в развертывании azure-vote-front, используйте команду kubectl scale. В следующем примере увеличивает число интерфейсных модулей pod до 5.

kubectl scale --replicas=5 deployment/azure-vote-front

Запустите kubectl get pod еще раз, чтобы убедиться, что команда успешно создала дополнительные модули pod. Они станут доступны в кластере примерно через минуту.

kubectl get pods
                                    READY     STATUS    RESTARTS   AGE
azure-vote-back-2606967446-nmpcf    1/1       Running   0          15m
azure-vote-front-3309479140-2hfh0   1/1       Running   0          3m
azure-vote-front-3309479140-bzt05   1/1       Running   0          3m
azure-vote-front-3309479140-fvcvm   1/1       Running   0          3m
azure-vote-front-3309479140-hrbf2   1/1       Running   0          15m
azure-vote-front-3309479140-qphz8   1/1       Running   0          3m

Масштабирование рабочих узлов в пуле узлов

Если вы создали кластер Kubernetes с помощью команд, приведенных в предыдущем руководстве, в развертывании есть кластер mycluster с одним пулом узлов Linux с именем linuxnodepool, число узлов которого — 1.

Используйте команду Set-AksHciNodePool для масштабирования пула узлов. В следующем примере пул узлов масштабируется с 1 до 3 узлов Linux.

Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3

Если вы хотите масштабировать узлы уровня управления, используйте команду Set-AksHciCluster .

Примечание

Команда Set-AksHciNodePool используется для масштабирования рабочих узлов в пуле узлов. В более ранних версиях AKS, которые не поддерживали пулы узлов в кластерах рабочих нагрузок, использовалась команда Set-AksHciCluster . Вы можете использовать Set-AksHciCluster только для масштабирования рабочих узлов в кластерах, созданных со старым параметром, заданным в New-AksHciCluster.

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

Get-AksHciNodePool -clusterName mycluster
ClusterName  : mycluster
NodePoolName : linuxnodepool
Version      : v1.20.7
OsType       : Linux
NodeCount    : 3
VmSize       : Standard_K8S3_v1
Phase        : Deployed

Дальнейшие действия

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

  • Масштабирование модулей pod Kubernetes вручную для выполнения приложения.
  • Масштабирование узлов Kubernetes вручную.

Перейдите к следующему руководству, чтобы узнать, как обновить приложение в Kubernetes.