팁 (조언)
Azure Kubernetes Service를 사용하는 이 자습서의 업데이트된 버전은 자습서: AKS(Azure Kubernetes Service)에서 애플리케이션 크기 조정을 참조하세요.
경고
ACS(Azure Container Service)는 더 이상 사용되지 않습니다. ACS에 새로운 기능이나 기능이 추가되지 않습니다. 모든 API, 포털 환경, CLI 명령 및 설명서는 더 이상 사용되지 않는 것으로 표시됩니다.
2017년에는 Kubernetes 관리, 배포 및 작업을 간소화하기 위해 AKS(Azure Kubernetes Service)를 도입했습니다. Kubernetes 오케스트레이터를 사용하는 경우 2020년 1월 31일까지 AKS로 마이그레이션하세요. 시작하려면 Azure Kubernetes Service로 마이그레이션을 참조하세요.
자세한 내용은 Azure.com Azure Container Service 사용 중단 공지 사항을 참조하세요.
자습서를 수행한 경우 Azure Container Service에서 작동하는 Kubernetes 클러스터가 있고 Azure Voting 앱을 배포했습니다.
7부 중 5부인 이 자습서에서는 앱에서 Pod를 확장하고 Pod 자동 크기 조정을 시도합니다. 또한 Azure VM 에이전트 노드 수를 조정하여 워크로드 호스팅에 대한 클러스터의 용량을 변경하는 방법도 알아봅니다. 완료된 작업은 다음과 같습니다.
- Kubernetes 파드 수동 크기 조정
- 자동 크기 조정 기능이 있는 앱 프런트 엔드 Pod 구성
- Kubernetes Azure 에이전트 노드 크기 조정
후속 자습서에서는 Azure Vote 애플리케이션이 업데이트되고 Log Analytics가 Kubernetes 클러스터를 모니터링하도록 구성됩니다.
시작하기 전 주의 사항:
이전 자습서에서는 애플리케이션이 컨테이너 이미지로 패키지되고, 이 이미지가 Azure Container Registry에 업로드되었으며, Kubernetes 클러스터가 생성되었습니다. 그런 다음 Kubernetes 클러스터에서 애플리케이션을 실행했습니다.
이러한 단계를 수행하지 않은 경우 다음을 수행하려면 자습서 1 – 컨테이너 이미지 만들기로 돌아갑니다.
수동으로 파드 크기 조정
지금까지 Azure Vote 프런트 엔드 및 Redis 인스턴스는 각각 단일 복제본으로 배포되었습니다. 확인하려면 kubectl get 명령을 실행합니다.
https://shell.azure.com으로 이동하여 브라우저에서 Cloud Shell을 엽니다.
kubectl get pods
출력:
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
kubectl scale 명령을 사용하여 배포의 azure-vote-front Pod 수를 수동으로 변경합니다. 다음은 숫자를 5로 늘리는 예제입니다.
kubectl scale --replicas=5 deployment/azure-vote-front
kubectl get Pod를 실행하여 Kubernetes가 Pod를 만들고 있는지 확인합니다. 1분 정도 지나면 추가 Pod가 실행됩니다.
kubectl get pods
출력:
NAME 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는 CPU 사용률 또는 기타 선택 메트릭에 따라 배포의 Pod 수를 조정하도록 가로 Pod 자동 크기 조정 을 지원합니다.
자동 크기 조정기를 사용하려면 Pod에 CPU 요청 및 제한이 정의되어 있어야 합니다. 배포에서 azure-vote-front 프런트 엔드 컨테이너는 0.5 CPU로 제한되는 0.25 CPU를 요청합니다. 설정은 다음과 같습니다.
resources:
requests:
cpu: 250m
limits:
cpu: 500m
다음 예제에서는 kubectl 자동 크기 조정 명령을 사용하여 배포의 Pod 수를 자동 크기 조정합니다 azure-vote-front . 여기서 CPU 사용률이%50을 초과하면 자동 크기 조정기는 Pod를 최대 10으로 늘입니다.
kubectl autoscale deployment azure-vote-front --cpu-percent=50 --min=3 --max=10
자동 크기 조정기의 상태를 보려면 다음 명령을 실행합니다.
kubectl get hpa
출력:
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
azure-vote-front Deployment/azure-vote-front 0% / 50% 3 10 3 2m
몇 분 후 Azure Vote 앱에서 부하를 최소화하면 Pod 복제본 수가 자동으로 3으로 감소합니다.
에이전트 크기 조정
이전 자습서에서 기본 명령을 사용하여 Kubernetes 클러스터를 만든 경우 세 개의 에이전트 노드가 있습니다. 클러스터에서 컨테이너 워크로드를 더 많거나 적게 계획하는 경우 에이전트 수를 수동으로 조정할 수 있습니다.
az acs scale 명령을 사용하고 매개 변수를 사용하여 에이전트 수를 지정합니다--new-agent-count.
다음 예제에서는 myK8sCluster라는 Kubernetes 클러스터에서 에이전트 노드 수를 4로 늘입니다. 명령을 완료하는 데 몇 분 정도 걸립니다.
az acs scale --resource-group=myResourceGroup --name=myK8SCluster --new-agent-count 4
명령 출력은 다음 값 agentPoolProfiles:count의 에이전트 노드 수를 보여 줍니다.
{
"agentPoolProfiles": [
{
"count": 4,
"dnsPrefix": "myK8SCluster-myK8SCluster-e44f25-k8s-agents",
"fqdn": "",
"name": "agentpools",
"vmSize": "Standard_D2_v2"
}
],
...
다음 단계
이 자습서에서는 Kubernetes 클러스터에서 다양한 크기 조정 기능을 사용했습니다. 포함된 작업은 다음과 같습니다.
- Kubernetes 포드 수동 크기 조정
- 앱 프런트 엔드를 실행하는 자동 크기 조정 파드 설정
- Kubernetes Azure 에이전트 노드 크기 조정
Kubernetes에서 애플리케이션을 업데이트하는 방법을 알아보려면 다음 자습서로 진행하세요.