자습서: Azure Stack HCI에서 Azure Kubernetes Service 애플리케이션 크기 조정

이전 자습서를 완료한 경우 Azure Stack HCI의 AKS에 Kubernetes 클러스터가 작동하고 샘플 Azure Voting 앱도 배포해야 합니다. 7부 중 5부인 이 자습서에서는 앱에서 Pod를 스케일 아웃하는 방법을 설명합니다. 이 문서에서 배울 내용은 다음과 같습니다.

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

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

시작하기 전에

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

수동으로 Pod 크기 조정

이전 자습서에서는 단일 복제본을 만들기 위해 Azure Vote 프런트 엔드 및 Redis 인스턴스를 배포하는 방법을 설명했습니다. 클러스터에서 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 명령을 사용합니다.

참고

Azure Stack HCI의 이전 버전의 AKS에서 Set-AksHciCluster 명령은 작업자 노드 크기를 조정하는 데도 사용되었습니다. Azure Stack HCI의 AKS는 현재 워크로드 클러스터에 노드 풀을 도입하고 있으므로 이 명령은 New-AksHciCluster에 설정된 이전 매개 변수를 사용하여 클러스터를 만든 경우에만 작업자 노드의 크기를 조정하는 데 사용할 수 있습니다. 노드 풀에서 작업자 노드의 크기를 조정하려면 Set-AksHciNodePool 명령을 사용합니다.

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

Get-AksHciNodePool -clusterName mycluster

출력

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

다음 단계

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

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

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