다음을 통해 공유


AKS(Azure Kubernetes Service)에서 Virtual Machines 노드 풀 사용

이 문서에서는 AKS에 대한 새 Virtual Machines 노드 풀 형식에 대해 알아봅니다.

Virtual Machines 노드 풀을 사용하여 AKS는 모든 단일 노드의 프로비전 및 부트스트래핑을 직접 관리합니다. Virtual Machine Scale Sets 노드 풀의 경우 AKS는 Virtual Machine Scale Sets의 모델을 관리하고 이를 사용하여 노드 풀의 모든 노드에서 일관성을 달성합니다. Virtual Machines 노드 풀을 사용하면 개별 워크로드에 가장 적합한 가상 머신으로 클러스터를 오케스트레이션할 수 있습니다.

개요

작동 방식

노드 풀은 다양한 유형의 워크로드를 지원하도록 다른 가상 머신 크기가 지정된 가상 머신 집합으로 구성됩니다. SKU라고 하는 이러한 가상 머신 크기는 특정 용도로 최적화된 여러 제품군으로 분류됩니다. 자세한 내용은 VM SKU를 참조하세요.

여러 가상 머신 크기의 크기 조정을 사용하도록 설정하기 위해 Virtual Machines 노드 풀 유형은 노드 풀의 크기 조정 방법, 특히 원하는 가상 머신 크기 목록 및 각 크기의 수를 나타내는 구성을 포함하는 구성을 사용합니다 ScaleProfile . A ManualScaleProfile 는 원하는 가상 머신 크기 하나와 nodepool에서 해당 형식의 총 수를 지정하는 확장 프로필입니다. 에 하나의 가상 머신 크기만 허용됩니다 ManualScaleProfile. 노드 풀에서 각 가상 머신 크기에 대해 별도의 ManualScaleProfile 크기를 만들어야 합니다. 새 Virtual Machines 노드 풀을 만들 때 아래 지침에 따라 vm-size 필드와 node-count를 사용하여 가상 머신 크기에 대한 초기 수동 스케일 프로필을 추가합니다. 수동 크기 조정 프로필을 추가하기 위한 지침에 따라 수동 크기 조정 프로필을 추가할 수도 있습니다.

참고

새 Virtual Machines 노드 풀을 만들 때 여러 확장 프로필을 가질 수 있으며 nodepool에 하나 이상의 수동 확장 프로필이 필요합니다.

장점

Virtual Machines 노드 풀 유형의 장점은 다음과 같습니다.

  • 유연성: 노드 사양을 업데이트하여 현재 워크로드 및 요구 사항에 맞게 조정할 수 있습니다.
  • 미세 조정된 컨트롤: 단일 노드 수준 컨트롤을 사용하면 다른 사양의 노드를 지정하고 혼합하여 단일 모델에서 제한을 해제하고 일관성을 향상시킬 수 있습니다.
  • 효율성: 클러스터의 노드 공간을 줄여 운영 요구 사항을 간소화할 수 있습니다.

Virtual Machines 노드 풀은 동적 워크로드 및 고가용성 요구 사항에 대한 더 나은 환경을 제공합니다. Virtual Machines 노드 풀을 사용하면 하나의 노드 풀에서 여러 유사한 패밀리 가상 머신을 설정할 수 있습니다. 구성한 사용 가능한 리소스에서 워크로드가 자동으로 예약됩니다.

기능 비교

다음 표에서는 Virtual Machines 노드 풀과 표준 Scale Set 노드 풀을 비교하는 방법을 강조 표시합니다.

노드 풀 유형 기능
가상 머신 노드 풀 노드 풀에서 노드를 추가, 제거 또는 업데이트할 수 있습니다. 가상 머신 유형은 동일한 패밀리 형식의 가상 머신(예: D 시리즈, A 시리즈 등)일 수 있습니다.
Virtual Machine Scale Set 기반 노드 풀 노드 풀에서 동일한 크기 및 형식의 노드를 추가하거나 제거할 수 있습니다. 클러스터에 새 가상 머신 크기를 추가하는 경우 새 노드 풀을 만들어야 합니다.

제한 사항

  • 클러스터 자동 크기 조정기는 현재 지원되지 않습니다.
  • InifiniBand를 사용할 수 없습니다.
  • 노드 풀 스냅샷은 지원되지 않습니다.
  • 노드 풀에서 선택한 모든 VM 크기는 유사한 가상 머신 패밀리에서 가져온 것이어야 합니다. 예를 들어 N 시리즈 가상 머신 형식을 동일한 노드 풀의 D 시리즈 가상 머신 형식과 혼합할 수 없습니다.
  • Virtual Machines 노드 풀은 노드 풀당 최대 5개의 서로 다른 가상 머신 크기를 허용합니다.

필수 구성 요소

  • Azure 구독 계정이 없는 경우 무료 계정에 만들 수 있습니다.
  • Azure CLI 버전 2.73.0 이상이 설치 및 구성되었습니다. 버전을 확인하려면 az --version을 실행합니다. Azure CLI 설치 또는 업그레이드에 대한 자세한 내용은 Azure CLI 설치를 참조하세요.
  • 이 기능을 사용하려면 kubernetes 버전 1.27 이상이 필요합니다. kubernetes 버전을 업그레이드하려면 AKS 클러스터 업그레이드를 참조하세요.

Virtual Machines 노드 풀을 사용하여 AKS 클러스터 만들기

참고

확장 프로필에는 하나의 VM 크기만 허용되며, 최대 제한은 Virtual Machines 노드 풀에 대한 전체 5개의 VM 확장 프로필입니다.

  • Virtual Machines 노드 풀이 포함된 AKS 클러스터를 생성하려면 az aks create 명령을 사용하고 --vm-set-type 플래그를 "VirtualMachines"로 설정하세요.

    다음 예제에서는 두 개의 노드가 포함된 Virtual Machines 노드 풀을 사용하여 myAKSCluster 라는 클러스터를 만들고, SSH 키를 생성하고, 부하 분산 장치 SKU를 표준으로 설정하고, Kubernetes 버전을 1.31.0으로 설정합니다.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --vm-set-type "VirtualMachines" \
        --vm-sizes "Standard_D4s_v3" 
        --node-count 2 \
        --kubernetes-version 1.31.0
    

Windows를 사용하도록 설정하고 Windows Virtual Machine 노드 풀을 사용하여 클러스터 만들기

가상 머신 노드 풀은 Windows 지원 클러스터에서 사용할 수 있습니다. 다음 예제에서는 Virtual Machines 노드 풀을 사용하여 myAKSCluster 라는 클러스터를 만듭니다. 이러한 단계는 처음에 Linux 시스템 풀을 만듭니다.

  1. 클러스터에서 Windows Server 노드의 관리자 자격 증명으로 사용할 사용자 이름을 만듭니다. 다음 명령은 사용자 이름을 묻는 메시지를 표시하고 이후 명령에서 사용할 수 있도록 WINDOWS_USERNAME 설정합니다.

    echo "Please enter the username to use as administrator credentials for Windows Server nodes on your cluster: " && read WINDOWS_USERNAME
    
  2. 이전 단계에서 만든 관리자 사용자 이름에 대한 암호를 만듭니다. 암호는 최소 14자여야 하며 Windows Server 암호 복잡성 요구 사항을 충족해야 합니다.

    echo "Please enter the password to use as administrator credentials for Windows Server nodes on your cluster: " && read WINDOWS_PASSWORD
    
  3. az aks create 명령을 사용하고 --vm-set-type 플래그를 "VirtualMachines"(으)로 설정하여 Windows를 사용하도록 설정한 상태로 가상 머신 유형 노드 풀을 포함하는 AKS 클러스터를 만듭니다.

    az aks create \ 
       --resource-group myResourceGroup \
       --name myAKSCluster \
       --node-count 2 \
       --enable-addons monitoring \
       --generate-ssh-keys \
       --windows-admin-username $WINDOWS_USERNAME \
       --windows-admin-password $WINDOWS_PASSWORD \
       --vm-set-type "VirtualMachines" \
       --network-plugin azure
    
  4. az aks nodepool add 명령을 사용하고 --vm-set-type 플래그를 "VirtualMachines"(으)로 설정하여 Windows를 사용하도록 설정한 기존 클러스터에 가상머신 노드 풀을 추가합니다. 다음 예제에서는 npwin 이라는 Virtual Machines 노드 풀을 myAKSCluster 클러스터에 추가합니다.

    az aks nodepool add
       --resource-group myResourceGroup \
       --cluster-name myAKSCluster \
       --os-type Windows \
       --name npwin \
       --vm-sizes "Standard_D2s_V3" \
       --node-count 1
       --vm-set-type "VirtualMachines"
    

기존 클러스터에 Virtual Machines 노드 풀 추가

  • 기존 클러스터에 az aks nodepool add 명령과 --vm-set-type 플래그가 "VirtualMachines"으로 설정된 상태로 Virtual Machines 노드 풀을 추가합니다.

    다음 예제에서는 myvmpool이라는 Virtual Machines 노드 풀을 myAKSCluster 클러스터에 추가합니다. 노드 풀은 --vm-sizesStandard_D4s_v3--node-count이 3으로 설정된 ManualScaleProfile을 만듭니다.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myvmpool \
        --vm-set-type "VirtualMachines" \
        --vm-sizes "Standard_D4s_v3" \
        --node-count 3
    

노드 풀에 수동 크기 조정 프로필 추가

  • az aks nodepool manual-scale add--vm-sizes 플래그가 "Standard_D2s_v3"로 설정된 상태에서 node-count가 2로 설정된 노드 풀에 수동 크기 조정 프로필을 추가합니다.

    다음 예제에서는 클러스터 myAKSCluster의 노드 풀 myvmpool에 수동 확장 프로필을 추가합니다. 노드 풀에는 VM SKU 가 Standard_D2s_v3 두 개의 노드가 포함됩니다.

    az aks nodepool manual-scale add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myvmpool \
        --vm-sizes "Standard_D2s_v3" \
        --node-count 2
    

기존 수동 크기 조정 프로필 업데이트

  • az aks nodepool manual-scale update 플래그를 --vm-sizes으로 설정하고 "Standard_D2s_v3" 명령을 사용하여 노드 풀의 기존 수동 크기 조정 프로필을 업데이트합니다.

    참고

    매개 변수를 --current-vm-sizes 사용하여 업데이트하려는 기존 노드 풀의 크기를 지정합니다. --vm-sizes 및/또는 --node-count를 업데이트할 수 있습니다. 다른 도구나 REST API를 사용하는 경우 노드 풀 크기 조정 프로필을 업데이트할 때 전체 agentPoolProfiles.virtualMachinesProfile.scale 필드를 전달해야 합니다.

    다음 예제에서는 수동 확장 프로필을 myAKSCluster 클러스터의 myvmpool 노드 풀로 업데이트 합니다. 이 명령은 노드 수를 5개로 업데이트하고 VM SKU를 Standard_D4s_v3에서 Standard_D8s_v3로 변경합니다.

    az aks nodepool manual-scale update \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myvmpool \
        --current-vm-sizes "Standard_D4s_v3" \
        --vm-sizes "Standard_D8s_v3" \
        --node-count 5
    

수동 크기 조정 프로필 삭제

  • az aks nodepool manual-scale delete 명령을 사용하여 기존 수동 크기 조정 프로필을 삭제합니다.

    참고

    매개 변수는 --current-vm-sizes 삭제할 기존 노드 풀의 크기를 지정합니다. 다른 도구 또는 REST API를 사용하여 노드 풀 확장 프로필을 업데이트하는 경우 전체 agentPoolProfiles.virtualMachinesProfile.scale 필드를 전달합니다.

    다음 예제에서는 myvmpool 노드 풀에서 Standard_D8s_v3 VM SKU에 대한 수동 확장 프로필을 삭제합니다.

    az aks nodepool manual-scale delete \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myvmpool \
        --current-vm-sizes "Standard_D8s_v3"
    

다음 단계

이 문서에서는 AKS에서 Virtual Machines 노드 풀을 사용하는 방법을 알아보았습니다. AKS의 노드 풀에 대해 자세히 알아보려면 노드 풀 만들기를 참조하세요.