다음을 통해 공유


AKS(Azure Kubernetes Service)에서 클러스터의 노드 풀 만들기

이 문서에서는 AKS 클러스터에서 하나 이상의 노드 풀을 만드는 방법을 보여 줍니다.

참고

이 기능을 사용하면 여러 노드 풀을 만들고 관리할 수 있으며 CRUD(만들기/업데이트/삭제) 작업을 위한 별도의 명령이 필요합니다. 이전에는 az aks create 또는 az aks update를 통한 클러스터 작업에서 managedCluster API를 사용했으며 컨트롤 플레인과 단일 노드 풀을 변경하는 유일한 옵션이었습니다. 이 기능은 agentPool API를 통해 에이전트 풀에 대한 별도의 작업 세트를 노출하며 개별 노드 풀에서 작업을 실행하려면 az aks nodepool 명령 세트를 사용해야 합니다.

중요합니다

2025년 11월 30일부터 AKS는 더 이상 Azure Linux 2.0에 대한 보안 업데이트를 지원하거나 제공하지 않습니다. 2026년 3월 31일부터 노드 이미지가 제거되고 노드 풀의 크기를 조정할 수 없습니다. 노드 풀을 지원되는 Kubernetes 버전으로 업그레이드하거나 osSku AzureLinux3으로 마이그레이션하여 지원되는 Azure Linux 버전을 사용하십시오. 자세한 내용은 사용 중지: AKS의 Azure Linux 2.0 노드 풀을 참조하세요.

필수 조건

  • Azure CLI 버전 2.2.0 이상을 설치하고 구성해야 합니다. az --version을 실행하여 버전을 찾습니다. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.
  • ARM 템플릿을 배포하려면 배포하는 리소스에 대한 쓰기 액세스 권한과 Microsoft.Resources/deployments 리소스 종류의 모든 작업에 대한 액세스 권한이 필요합니다. 예를 들어 가상 머신(VM)을 배포하려면 Microsoft.Compute/virtualMachines/write 권한과 Microsoft.Resources/deployments/* 권한이 필요합니다. 역할 및 권한 목록은 Azure 기본 제공 역할을 참조하세요.

  • 각 매개 변수에 대해 다음 요구 사항을 검토합니다.

    • osTYPE: 운영 체제 유형입니다. 기본값은 Linux입니다.
    • osSKU: 에이전트 풀에서 사용하는 OS SKU를 지정합니다.
    • count: Docker 컨테이너를 호스트할 에이전트(VM) 수입니다. 허용되는 값은 사용자 풀의 경우 0~1000(포함) 범위에 있어야 하고, 시스템 풀의 경우 1~1000(포함) 범위에 있어야 합니다. 기본값은 1입니다.
  • ARM 템플릿을 사용하여 클러스터를 배포한 후 Azure CLI 또는 Azure PowerShell을 사용하여 클러스터에 연결하고 샘플 애플리케이션을 배포할 수 있습니다.

제한 사항

여러 노드 풀을 지원하는 AKS 클러스터를 만드는 경우 다음과 같은 제한 사항이 적용됩니다.

  • AKS 클러스터에 시스템 노드 풀을 대체할 다른 시스템 노드 풀이 있으면 시스템 노드 풀을 삭제해도 됩니다. 그렇지 않으면 시스템 노드 풀을 삭제할 수 없습니다.

  • 시스템 풀에는 하나 이상의 노드가 포함되어야 합니다. 사용자 노드 풀에는 0개 이상의 노드가 포함될 수 있습니다.

  • 단일 노드 풀을 사용하여 클러스터를 만드는 경우 OS 유형은 여야 Linux합니다. OS SKU는 Linux 변형(예: Ubuntu 또는 AzureLinux.)일 수 있습니다. 단일 Windows 노드 풀을 사용하여 클러스터를 만들 수 없습니다. Windows 컨테이너를 실행하려면 Linux 시스템 노드 풀을 사용하여 만든 후 클러스터에 Windows 노드 풀을 추가해야 합니다.

  • 여러 노드 풀을 사용하려면 AKS 클러스터에서 표준 SKU 부하 분산 장치를 사용해야 합니다. 기본 SKU 부하 분산 장치에서는 이 기능이 지원되지 않습니다.

  • AKS 클러스터는 노드에 대한 Virtual Machine Scale Sets를 사용해야 합니다.

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

    • Linux 노드 풀의 경우 길이는 1~12자 사이여야 합니다.
    • Windows 노드 풀의 경우 길이는 1~6자 사이여야 합니다.
  • 모든 노드 풀은 동일한 가상 네트워크에 있어야 합니다.

  • 클러스터를 만들 때 여러 노드 풀을 만드는 경우 노드 풀의 모든 Kubernetes 버전은 컨트롤 플레인에 설정된 버전과 일치해야 합니다.

특수 노드 풀 만들기

특수 노드 풀을 만드는 방법을 알아보려면 다음 문서를 참조하세요.

환경 변수 설정

  • 셸에서 다음 환경 변수를 설정하여 이 문서의 명령을 간소화합니다. 값을 원하는 이름으로 변경할 수 있습니다.

    export RESOURCE_GROUP_NAME="my-aks-rg"
    export LOCATION="eastus"
    export CLUSTER_NAME="my-aks-cluster"
    export NODE_POOL_NAME="mynodepool"
    

리소스 그룹 만들기

  • az group create 명령을 사용하여 Azure 리소스 그룹을 만듭니다.

    az group create --name $RESOURCE_GROUP_NAME --___location $LOCATION
    

Azure CLI를 사용하여 단일 노드 풀이 있는 AKS 클러스터 만들기

AKS 클러스터에서 하나의 노드 풀만 원하는 경우 시스템 노드 풀에서 애플리케이션 Pod를 예약할 수 있습니다. 프로덕션 환경에서 AKS 클러스터에 대해 단일 시스템 노드 풀을 실행하는 경우 노드 풀에 대해 노드를 3개 이상 사용하는 것이 좋습니다. 노드 하나가 다운되면 중복도가 손상됩니다. 더 많은 시스템 노드 풀 노드를 확보하면 이러한 위험을 완화할 수 있습니다.

  1. 명령을 사용하여 단일 Ubuntu 노드 풀이 있는 클러스터를 만듭니다 az aks create . 이 단계에서는 단일 노드 풀에 두 개의 노드를 지정합니다.

    az aks create \
        --resource-group $RESOURCE_GROUP_NAME \
        --name $CLUSTER_NAME \
        --vm-set-type VirtualMachineScaleSets \
        --node-count 2 \
        --os-sku Ubuntu \
        --___location $LOCATION \
        --load-balancer-sku standard \
        --generate-ssh-keys
    

    클러스터를 만드는 데 몇 분이 걸립니다.

  2. 클러스터가 준비되면 az aks get-credentials 명령을 사용하여 클러스터 자격 증명을 가져옵니다.

    az aks get-credentials --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME
    

Azure CLI를 사용하여 두 번째 노드 풀 추가

이전 섹션에서 만든 클러스터에는 단일 노드 풀이 있습니다. 이 섹션에서는 클러스터에 두 번째 노드 풀을 추가합니다. 이 두 번째 노드 풀은 Linux 유형의 OS를 가질 수 있으며, OS SKU는 Ubuntu 또는 AzureLinux가 될 수 있고, 또는 OS 유형이 Windows일 수도 있습니다.

참고

임시 OS 디스크를 사용하는 노드 풀을 AKS 클러스터에 추가하려면 명령을 실행할 때에는 --node-osdisk-type로 플래그를 설정하십시오.

임시 OS를 사용하면 VM 캐시 크기까지 VM 및 인스턴스 이미지를 배포할 수 있습니다. AKS의 기본 노드 OS 디스크 구성은 128GB를 사용합니다. 즉, 128GB보다 큰 캐시가 있는 VM 크기가 필요합니다. 기본값 Standard_DS2_v2 의 캐시 크기는 86GB이며 충분히 크지 않습니다. Standard_DS3_v2 VM SKU의 캐시 크기는 172GB로 충분히 큽니다. OS 디스크 --node-osdisk-size의 기본 크기를 줄일 수도 있지만 AKS 이미지의 최소 크기는 30GB입니다.

네트워크에 연결된 OS 디스크를 사용하여 노드 풀을 만들고자 한다면, --node-osdisk-type 명령을 실행할 때 플래그를 Managedaz aks nodepool add로 설정하십시오.

Linux 노드 풀 추가

  • az aks nodepool add 명령을 사용하여 새 노드 풀을 만듭니다. 다음 예제에서는 Linux OS SKU를 사용하여 Ubuntu 노드로 구성된 노드 풀을 만들고 세 개의 노드를 실행합니다. OS SKU를 지정하지 않으면 AKS는 기본적으로 .로 설정 Ubuntu됩니다.

    az aks nodepool add \
        --resource-group $RESOURCE_GROUP_NAME \
        --cluster-name $CLUSTER_NAME \
        --name $NODE_POOL_NAME \
        --node-vm-size Standard_DS2_v2 \
        --os-type Linux \
        --os-sku Ubuntu \
        --node-count 3
    

    노드 풀을 만드는 데 몇 분 정도 걸립니다.

Windows Server 노드 풀 추가

aks-preview 확장 설치
  1. aks-preview 명령을 사용하여 Azure CLI 확장을 설치합니다az extension add.

    중요합니다

    AKS 미리 보기 기능은 셀프 서비스에서 사용할 수 있습니다(옵트인 방식). 미리 보기는 "있는 그대로" 및 "사용 가능한 상태로" 제공되며 서비스 수준 계약 및 제한적 보증에서 제외됩니다. AKS 미리 보기의 일부는 고객 지원팀에서 최선을 다해 지원합니다. 따라서 이러한 기능은 프로덕션 용도로 사용할 수 없습니다. 자세한 내용은 다음 지원 문서를 참조하세요.

    az extension add --name aks-preview
    
  2. az extension update 명령을 사용하여 확장의 최신 버전으로 업데이트합니다. Windows Server 2025에는 최소 18.0.0b5가 필요합니다.

    az extension update --name aks-preview
    
AksWindows2025Preview 기능 플래그 등록
  1. AksWindows2025Preview 명령을 사용하여 az feature register 기능 플래그를 등록합니다.

    az feature register --namespace "Microsoft.ContainerService" --name "AksWindows2025Preview"
    
  2. 또한 az feature show 명령을 사용하여 등록 상태를 확인합니다. 상태가 Registered로 표시되는 데 몇 분 정도 걸립니다.

    az feature show --namespace Microsoft.ContainerService --name AksWindows2025Preview
    
  3. 상태가 Registered(등록됨)를 반영하면 명령을 사용하여 az provider register 리소스 공급자의 등록을 새로 고칩니다.

    az provider register --namespace Microsoft.ContainerService
    
Windows Server 2025 노드 풀 만들기
  • az aks nodepool add 명령을 사용하여 새 노드 풀을 만듭니다. 다음 예제에서는 Windows OS SKU를 사용하여 Windows2025 노드로 구성된 노드 풀을 만들고 세 개의 노드를 실행합니다.

    Windows OS에 대한 자세한 내용은 Windows 모범 사례를 참조하세요.

    az aks nodepool add \
        --resource-group $RESOURCE_GROUP_NAME \
        --cluster-name $CLUSTER_NAME \
        --name $NODE_POOL_NAME \
        --node-vm-size Standard_DS2_v2 \
        --os-type Windows \
        --os-sku Windows2025 \
        --node-count 3
    

노드 풀의 상태 확인

  • az aks nodepool list 명령을 사용하여 노드 풀의 상태를 확인하고 리소스 그룹과 클러스터 이름을 지정합니다.

    az aks nodepool list --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME
    

노드 풀 삭제

노드 풀이 더 이상 필요 없으면 노드 풀을 삭제하고 기본 VM 노드를 제거할 수 있습니다.

주의

노드 풀을 삭제하면 AKS는 차단 및 드레이닝을 수행하지 않으며 노드 풀을 삭제할 때 발생할 수 있는 데이터 손실에 대한 복구 옵션이 없습니다. 다른 노드 풀에서 Pod를 예약할 수 없는 경우 해당 애플리케이션을 사용할 수 없게 됩니다. 사용 중인 애플리케이션에 데이터 백업이 없거나 클러스터의 다른 노드 풀에서 실행할 수 없는 경우 노드 풀을 삭제하면 안 됩니다. 삭제하려는 노드 풀에서 현재 실행 중인 Pod 일정 변경의 중단을 최소화하려면 삭제하기 전에 노드 풀의 모든 노드에서 차단 및 드레이닝을 수행합니다.

  • az aks nodepool delete 명령을 사용하여 노드 풀을 삭제하고 노드 풀 이름을 지정합니다.

    az aks nodepool delete --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --no-wait
    

    노드 및 노드 풀을 삭제하는 데 몇 분 정도 걸립니다.

ARM 템플릿을 사용하여 단일 노드 풀이 있는 AKS 클러스터 만들기

AKS 클러스터에서 하나의 노드 풀만 원하는 경우 시스템 노드 풀에서 애플리케이션 Pod를 예약할 수 있습니다. 프로덕션 환경에서 AKS 클러스터에 대해 단일 시스템 노드 풀을 실행하는 경우 노드 풀에 대해 노드를 3개 이상 사용하는 것이 좋습니다. 노드 하나가 다운되면 중복도가 손상됩니다. 더 많은 시스템 노드 풀 노드를 확보하면 이러한 위험을 완화할 수 있습니다.

Microsoft.ContainerService/managedClusters 리소스 만들기

  • 템플릿에 Microsoft.ContainerService/managedClusters을 추가하여 리소스를 만듭니다.
  • ARM 템플릿을 다음과 같이 수정하여 AKS 클러스터에 단일 Ubuntu 노드 풀을 만듭니다.

      "properties": {
        "agentPoolProfiles": [
        {
            "count": "1",
            "osSKU": "ubuntu",
            "osType": "linux"
         } 
         ],
    }
    

ARM 템플릿을 사용하여 두 번째 노드 풀 추가

이전 섹션에서 만든 클러스터에는 단일 노드 풀이 있습니다. 이 섹션에서는 클러스터에 두 번째 노드 풀을 추가합니다. 이 두 번째 노드 풀은 Linux 유형의 OS를 가질 수 있으며, OS SKU는 Ubuntu 또는 AzureLinux가 될 수 있고, 또는 OS 유형이 Windows일 수도 있습니다.

Linux 노드 풀 추가

  • ARM 템플릿을 다음과 같이 수정하여 AKS 클러스터에 여러 Ubuntu 노드 풀을 만듭니다.

      "properties": {
        "agentPoolProfiles": [
        {
            "count": "3",
            "osSKU": "ubuntu",
            "osType": "linux"
         } 
         ],
    }
    

Windows Server 노드 풀 추가

aks-preview 확장 설치
  1. aks-preview 명령을 사용하여 Azure CLI 확장을 설치합니다az extension add.

    중요합니다

    AKS 미리 보기 기능은 셀프 서비스에서 사용할 수 있습니다(옵트인 방식). 미리 보기는 "있는 그대로" 및 "사용 가능한 상태로" 제공되며 서비스 수준 계약 및 제한적 보증에서 제외됩니다. AKS 미리 보기의 일부는 고객 지원팀에서 최선을 다해 지원합니다. 따라서 이러한 기능은 프로덕션 용도로 사용할 수 없습니다. 자세한 내용은 다음 지원 문서를 참조하세요.

    az extension add --name aks-preview
    
  2. az extension update 명령을 사용하여 확장의 최신 버전으로 업데이트합니다. Windows Server 2025에는 최소 18.0.0b5가 필요합니다.

    az extension update --name aks-preview
    
AksWindows2025Preview 기능 플래그 등록
  1. AksWindows2025Preview 명령을 사용하여 az feature register 기능 플래그를 등록합니다.

    az feature register --namespace "Microsoft.ContainerService" --name "AksWindows2025Preview"
    
  2. 또한 az feature show 명령을 사용하여 등록 상태를 확인합니다. 상태가 Registered로 표시되는 데 몇 분 정도 걸립니다.

    az feature show --namespace Microsoft.ContainerService --name AksWindows2025Preview
    
  3. 상태가 Registered(등록됨)를 반영하면 명령을 사용하여 az provider register 리소스 공급자의 등록을 새로 고칩니다.

    az provider register --namespace Microsoft.ContainerService
    
Windows Server 2025 노드 풀 만들기
  • ARM 템플릿을 다음과 같이 수정하여 AKS 클러스터에 여러 Windows 노드 풀을 만듭니다.

      "properties": {
        "agentPoolProfiles": [
        {
            "count": "3",
            "osSKU": "windows2025",
            "osType": "windows"
         } 
         ],
    }
    

ARM 템플릿 배포

다음 단계

이 문서에서는 Azure CLI를 사용하여 AKS 클러스터에서 노드 풀을 만드는 방법을 알아보았습니다.

여러 노드 풀을 관리하는 방법을 알아보려면 AKS 클러스터에 대한 여러 노드 풀 관리를 참조하세요.