다음을 통해 공유


자습서: 기존 AKS 클러스터에 Azure Linux 노드 풀 추가

AKS에서 구성이 동일한 노드는 모두 노드 풀로 그룹화됩니다. 각 풀에는 애플리케이션을 실행하는 VM이 포함됩니다. 이전 자습서에서는 단일 노드 풀로 Azure Linux 컨테이너 호스트 클러스터를 만들었습니다. 애플리케이션의 다양한 컴퓨팅 또는 스토리지 요구 사항을 충족하기 위해 추가 사용자 노드 풀을 만들 수 있습니다.

이 자습서의 5부 중 2부에서 다음 방법을 알아봅니다.

  • Azure Linux 노드 풀 추가
  • 노드 풀의 상태 확인

이후 자습서에서는 노드를 Azure Linux로 마이그레이션하고 원격 분석을 사용하여 클러스터를 모니터링하는 방법을 알아봅니다.

필수 조건

  • 이전 자습서에서는 Azure Linux 컨테이너 호스트 클러스터를 만들고 배포했습니다. 이러한 단계를 수행하지 않고 계속 진행하려면 자습서 1: Create a cluster with the Azure Linux Container Host for AKS(AKS용 Azure Linux 컨테이너 호스트를 사용하여 클러스터 만들기)부터 시작하세요.
  • 최신 버전의 Azure CLI가 필요합니다. az --version을 실행하여 버전을 찾습니다. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.

Azure Linux 노드 풀 추가

기존 클러스터에 Azure Linux 노드 풀을 추가하려면 az aks nodepool add 명령을 사용하여 --os-sku AzureLinux를 지정합니다. 다음 예제에서는 testAzureLinuxResourceGroup 리소스 그룹의 testAzureLinuxCluster 클러스터에서 3개의 노드를 실행하는 ALnodepool이라는 노드 풀을 만듭니다. 환경 변수는 아래에 선언되며 고유성을 보장하기 위해 리소스 그룹 및 클러스터 이름에 임의의 접미사가 추가됩니다.

export RANDOM_SUFFIX=$(openssl rand -hex 3)
export NODEPOOL_NAME="np$RANDOM_SUFFIX"

az aks nodepool add \
    --resource-group $RESOURCE_GROUP \
    --cluster-name $CLUSTER_NAME \
    --name $NODEPOOL_NAME \
    --node-count 3 \
    --os-sku AzureLinux
{
  "agentPoolType": "VirtualMachineScaleSets",
  "count": 3,
  "name": "alnodepool",
  "osType": "Linux",
  "provisioningState": "Succeeded",
  "resourceGroup": "testAzureLinuxResourceGroupxxxxx",
  "type": "Microsoft.ContainerService/managedClusters/agentPools"
}

참고 항목

노드 풀의 이름은 소문자로 시작해야 하며 영숫자 문자만 포함할 수 있습니다. Linux 노드 풀의 경우 길이가 1~12자 사이여야 합니다.

노드 풀 상태 확인

노드 풀의 상태를 보려면 az aks nodepool list 명령을 사용하여 리소스 그룹과 클러스터 이름을 지정합니다. 앞에서 선언한 것과 동일한 환경 변수 값이 여기에 사용됩니다.

az aks nodepool list --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME
[
  {
    "agentPoolType": "VirtualMachineScaleSets",
    "availabilityZones": null,
    "count": 1,
    "enableAutoScaling": false,
    "enableEncryptionAtHost": false,
    "enableFips": false,
    "enableNodePublicIp": false,
    "id": "/subscriptions/REDACTED/resourcegroups/myAKSResourceGroupxxxxx/providers/Microsoft.ContainerService/managedClusters/myAKSClusterxxxxx/agentPools/nodepoolx",
    "maxPods": 110,
    "mode": "System",
    "name": "nodepoolx",
    "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2023.06.06",
    "orchestratorVersion": "1.25.6",
    "osDiskSizeGb": 128,
    "osDiskType": "Managed",
    "osSku": "Ubuntu",
    "osType": "Linux",
    "powerState": {
      "code": "Running"
    },
    "provisioningState": "Succeeded",
    "resourceGroup": "myAKSResourceGroupxxxxx",
    "type": "Microsoft.ContainerService/managedClusters/agentPools",
    "vmSize": "Standard_DS2_v2"
  },
  {
    "agentPoolType": "VirtualMachineScaleSets",
    "availabilityZones": null,
    "count": 3,
    "enableAutoScaling": false,
    "enableEncryptionAtHost": false,
    "enableFips": false,
    "enableNodePublicIp": false,
    "id": "/subscriptions/REDACTED/resourcegroups/myAKSResourceGroupxxxxx/providers/Microsoft.ContainerService/managedClusters/myAKSClusterxxxxx/agentPools/npxxxxxx",
    "maxPods": 110,
    "mode": "User",
    "name": "npxxxxxx",
    "nodeImageVersion": "AzureLinuxContainerHost-2023.06.06",
    "orchestratorVersion": "1.25.6",
    "osDiskSizeGb": 128,
    "osDiskType": "Managed",
    "osSku": "AzureLinux",
    "osType": "Linux",
    "powerState": {
      "code": "Running"
    },
    "provisioningState": "Succeeded",
    "resourceGroup": "myAKSResourceGroupxxxxx",
    "type": "Microsoft.ContainerService/managedClusters/agentPools",
    "vmSize": "Standard_DS2_v2"
  }
]

다음 단계

이 자습서에서는 기존 클러스터에 Azure Linux 노드 풀을 추가했습니다. 다음 방법에 대해 알아보았습니다.

  • Azure Linux 노드 풀 추가
  • 노드 풀의 상태 확인

다음 자습서에서는 기존 노드를 Azure Linux로 마이그레이션하는 방법을 알아봅니다.