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

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

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

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

이 자습서의 명령은 Tutorial 1: AKS용 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 설치를 참조하세요.

환경 변수 설정

각 배포에 대해 고유한 리소스 이름을 만들려면 다음 환경 변수를 설정합니다. 자리 표시자를 <your-node-pool-name> 원하는 이름으로 바꿉니다. 필요에 따라 임의 접미사를 추가하여 고유성을 보장할 수 있습니다. 노드 풀의 이름은 소문자로 시작해야 하며 영숫자 문자만 포함할 수 있습니다. Linux 노드 풀의 경우 길이가 1~12자 사이여야 합니다.

# Set random suffix for uniqueness
export RANDOM_SUFFIX=$(openssl rand -hex 3)

# Set node pool name
export NODE_POOL_NAME="<your-node-pool-name>$RANDOM_SUFFIX"

Azure Linux 노드 풀 추가

az aks nodepool add 명령을 사용하여 기존 클러스터에 Azure Linux 노드 풀을 추가하고 --os-sku AzureLinux 지정합니다. 다음 예제에서는 Tutorial 1에서 클러스터에서 3개의 노드를 실행하는 노드 풀을 만듭니다. AKS Azure Linux 컨테이너 호스트를 사용하여 클러스터를 만듭니다.

az aks nodepool add \
    --resource-group $RESOURCE_GROUP \
    --cluster-name $CLUSTER_NAME \
    --name $NODE_POOL_NAME \
    --node-count 3 \
    --os-sku AzureLinux

예시 출력:

{
  "agentPoolType": "VirtualMachineScaleSets",
  "count": 3,
  "name": "alnodepool",
  "osType": "Linux",
  "provisioningState": "Succeeded",
  "resourceGroup": "testAzureLinuxResourceGroupxxxxx",
  "type": "Microsoft.ContainerService/managedClusters/agentPools"
}

노드 풀 상태 확인

명령을 사용하여 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