다음을 통해 공유


AKS(Azure Kubernetes Service) 클러스터에서 노드 수를 수동으로 크기 조정

애플리케이션의 리소스 요구 사항이 변경되면 CPU, 메모리, PID 공간 또는 디스크 크기의 낮은 용량으로 인해 클러스터 성능이 영향을 받을 수 있습니다. 이러한 변경 내용을 해결하기 위해 AKS 클러스터의 크기를 수동으로 조정하여 다른 수의 노드를 실행할 수 있습니다. 규모 감축 시 노드는 신중하게 조정되고 드레이닝되어 실행 중인 애플리케이션의 중단을 최소화합니다. 규모를 확장하면 AKS는 Pod가 예약되기 전에 Kubernetes 클러스터에서 노드가 준비됨으로 표시될 때까지 기다립니다.

이 문서에서는 AKS 클러스터의 노드 수를 수동으로 늘리거나 줄이는 방법을 설명합니다.

시작하기 전에

  • AKS 서비스 할당량 및 한도를 검토하여 클러스터가 원하는 노드 수로 크기 조정될 수 있는지 확인합니다.

  • 노드 풀의 이름은 영숫자 소문자만 포함할 수 있고 소문자 문자로 시작해야 합니다.

    • Linux 노드 풀의 경우 길이는 1~11자 사이여야 합니다.
    • Windows 노드 풀의 경우 길이는 1~6자 사이여야 합니다.

클러스터 노드 크기 조정

Important

kubectl 명령을 사용하여 노드 풀에서 노드를 제거하는 것은 지원되지 않습니다. 그렇게 하면 AKS 클러스터에 스케일링 문제가 발생할 수 있습니다.

  1. az aks show 명령을 사용하여 노드 풀의 이름을 가져옵니다. 다음 예에서는 myResourceGroup 리소스 그룹에서 myAKSCluster 클러스터의 노드 풀 이름을 가져옵니다.

    az aks show --resource-group myResourceGroup --name myAKSCluster --query agentPoolProfiles
    

    다음 예제 출력에는 namenodepool1로 표시되어 있습니다.

    [
      {
        "count": 1,
        "maxPods": 110,
        "name": "nodepool1",
        "osDiskSizeGb": 30,
        "osType": "Linux",
        "vmSize": "Standard_DS2_v2"
      }
    ]
    
  2. az aks scale 명령을 사용하여 클러스터 노드의 크기를 조정합니다. 다음 예제에서는 myAKSCluster라는 클러스터를 단일 노드로 크기 조정합니다. nodepool1과 같은 이전 명령에서 자체 --nodepool-name을 제공합니다.

    az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 1 --nodepool-name <your node pool name>
    

    다음 예제 출력에는 agentPoolProfiles 섹션에 나와 있는 것처럼 클러스터의 크기가 노드 하나로 올바르게 조정되었음이 표시됩니다.

    {
      "aadProfile": null,
      "addonProfiles": null,
      "agentPoolProfiles": [
        {
          "count": 1,
          "maxPods": 110,
          "name": "nodepool1",
          "osDiskSizeGb": 30,
          "osType": "Linux",
          "vmSize": "Standard_DS2_v2",
          "vnetSubnetId": null
        }
      ],
      [...]
    }
    

User 노드 풀의 크기를 0으로 조정

항상 실행 중인 노드가 필요한 System 노드 풀과 달리 User 노드 풀을 사용하면 0으로 크기를 조정할 수 있습니다. 시스템 및 사용자 노드 풀의 차이점에 대해 자세히 알아보려면 시스템 및 사용자 노드 풀을 참조하세요.

Important

클러스터 자동 크기 조정기를 0개 노드로 사용하도록 설정한 상태에서는 사용자 노드 풀의 크기를 조정할 수 없습니다. 사용자 노드 풀을 0개 노드로 크기 조정하려면 먼저 클러스터 자동 크기 조정기를 사용하지 않도록 설정해야 합니다. 자세한 내용은 노드 풀에서 클러스터 자동 크기 조정기 사용 안 함을 참조하세요.

  • 사용자 풀의 크기를 0으로 조정하려면 위의 az aks scale 명령 대신 az aks nodepool scale을 사용하고 0을 노드 수로 설정할 수 있습니다.

    az aks nodepool scale --name <your node pool name> --cluster-name myAKSCluster --resource-group myResourceGroup  --node-count 0 
    
  • 클러스터 자동 크기 조정기--min-count 매개 변수를 0으로 설정하여 User 노드 풀을 0개 노드로 자동 크기 조정할 수도 있습니다.

다음 단계

이 문서에서는 노드 수를 늘리거나 줄이기 위해 AKS 클러스터를 수동으로 크기 조정했습니다. 클러스터 자동 크기 조정기를 사용하여 클러스터를 자동으로 크기 조정할 수도 있습니다.