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 클러스터를 수동으로 크기 조정했습니다. 클러스터 자동 크기 조정기를 사용하여 클러스터를 자동으로 크기 조정할 수도 있습니다.