자습서: AKS 하이브리드에서 애플리케이션 크기 조정
적용 대상: Azure Stack HCI의 AKS, Windows Server의 AKS
이전 자습서를 완료한 경우 AKS 하이브리드에서 작동하는 Kubernetes 클러스터가 있어야 하며 샘플 Azure Voting 앱도 배포해야 합니다.
7부 중 5부인 이 자습서에서는 앱에서 Pod를 스케일 아웃하는 방법을 설명합니다. 이 문서에서 배울 내용은 다음과 같습니다.
- Kubernetes 노드 크기 조정
- 애플리케이션을 실행하는 Kubernetes Pod의 크기를 수동으로 조정
후속 자습서에서 Azure Vote 애플리케이션은 새 버전으로 업데이트됩니다.
시작하기 전에
이전 자습서에서는 애플리케이션을 컨테이너 이미지로 패키지하고, 이미지를 Azure Container Registry 업로드하고, AKS 클러스터를 만드는 방법을 설명했습니다. 그런 다음, 애플리케이션은 AKS 클러스터에 배포되었습니다. 이러한 단계를 완료하지 않은 경우 자습서 1 - AKS 하이브리드용 애플리케이션 준비로 시작합니다.
수동으로 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 명령을 사용합니다.
참고
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
다음 단계
이 자습서에서는 AKS 클러스터에서 다양한 크기 조정 기능을 사용했습니다. 구체적으로 다음 작업 방법을 알아보았습니다.
- 애플리케이션을 실행하는 Kubernetes Pod의 크기를 수동으로 조정
- 수동으로 Kubernetes 노드 크기 조정
Kubernetes에서 애플리케이션을 업데이트하는 방법을 알아보려면 다음 자습서로 진행하세요.