チュートリアル: 既存の Azure Kubernetes Service (AKS) クラスターに Azure Linux ノード プールを追加する

AKS では、同じ構成を持つノードはノード プールにグループ化されます。 各プールには、アプリケーションを実行する VM が含まれています。 前のチュートリアルでは、1 つのノード プールを含む Azure Linux コンテナー ホスト クラスターを作成しました。 アプリケーションのさまざまなコンピューティングまたはストレージの要件を満たすために、追加のユーザー ノード プールを作成できます。

このチュートリアルでは、 5 つのパート 2 で、次の方法を学習します。

  • Azure Linux ノード プールを追加する。
  • ノード プールの状態を確認する。

このチュートリアルで使用するコマンドでは、Tutorial 1: Create a cluster with the Azure Linux Container Host for AKS で設定した環境変数を使用します。

この後のチュートリアルでは、ノードを Azure Linux に移行し、テレメトリを有効にしてクラスターを監視する方法について説明します。

Prerequisites

環境変数の設定

デプロイごとに一意のリソース名を作成するには、次の環境変数を設定します。 プレースホルダーの <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: Azure Linux Container Host for AKS からクラスター内の 3 つのノードを実行するノード プールを作成します。

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 に移行する方法について説明します。