자습서: Azure Arc에서 사용하도록 설정된 AKS에서 애플리케이션 크기 조정

적용 대상: Azure Stack HCI 22H2의 AKS, Windows Server의 AKS

이전 자습서를 완료한 경우 AKS에 Kubernetes 클러스터가 작동하고 샘플 Azure Voting 앱도 배포해야 합니다.

7부 중 5부인 이 자습서에서는 앱에서 Pod를 스케일 아웃하는 방법을 설명합니다. 이 문서에서 배울 내용은 다음과 같습니다.

  • Kubernetes 노드 크기 조정
  • 애플리케이션을 실행하는 Kubernetes Pod의 크기를 수동으로 조정

후속 자습서에서 Azure Vote 애플리케이션은 새 버전으로 업데이트됩니다.

시작하기 전에

이전 자습서에서는 애플리케이션을 컨테이너 이미지로 패키지하고, 이미지를 Azure Container Registry 업로드하고, Kubernetes 클러스터를 만드는 방법을 설명했습니다. 그런 다음 애플리케이션이 클러스터에 배포되었습니다. 이러한 단계를 완료하지 않은 경우 자습서 1 - Arc에서 사용하도록 설정된 AKS용 애플리케이션 준비로 시작합니다.

수동으로 Pod 크기 조정

이전 자습서에서는 단일 복제본(replica) 만들기 위해 Azure Vote 프런트 엔드 및 Redis instance 배포하는 방법을 설명했습니다. 클러스터의 Pod 수와 상태를 보려면 다음 kubectl get 명령을 사용합니다.

kubectl get pods

다음 예제 출력은 프런트 엔드 Pod 1개와 백 엔드 Pod 1개를 보여줍니다.

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

azure-vote-front 배포의 Pod 수를 수동으로 변경하려면 kubectl scale 명령을 사용합니다. 다음 예제는 프런트 엔드 Pod 수를 5로 늘립니다.

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

kubectl get Pod를 다시 실행하여 명령이 추가 Pod를 성공적으로 생성했는지 확인합니다. 약 1분이 지나면 클러스터에서 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 클러스터를 만든 경우 배포에는 노드 수가 1인 linuxnodepool이라는 하나의 Linux 노드 풀이 있는 mycluster라는 클러스터가 있습니다.

Set-AksHciNodePool 명령을 사용하여 노드 풀의 크기를 조정합니다. 다음 예제에서는 노드 풀을 1~3개의 Linux 노드로 확장합니다.

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

컨트롤 플레인 노드의 크기를 조정하려면 Set-AksHciCluster 명령을 사용합니다.

참고

Set-AksHciNodePool 명령은 노드 풀의 작업자 노드 크기를 조정하는 데 사용됩니다. 워크로드 클러스터에서 노드 풀을 지원하지 않는 이전 AKS 버전에서는 Set-AksHciCluster 명령이 사용되었습니다. 를 사용하여 Set-AksHciClusterNew-AksHciCluster에서 설정된 이전 매개 변수를 사용하여 만든 클러스터의 작업자 노드 크기를 조정할 수 있습니다.

다음 명령을 실행하여 크기 조정이 성공했는지 확인합니다.

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

다음 단계

이 자습서에서는 Kubernetes 클러스터의 다양한 크기 조정 기능을 사용했습니다. 구체적으로 다음 작업 방법을 알아보았습니다.

  • 애플리케이션을 실행하는 Kubernetes Pod의 크기를 수동으로 조정
  • 수동으로 Kubernetes 노드 크기 조정

Kubernetes에서 애플리케이션을 업데이트하는 방법을 알아보려면 다음 자습서로 진행합니다.