次の方法で共有


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

Azure Kubernetes Service (AKS) では、同じ構成のノードがノード プールにグループ化されます。 各ノード プールには、アプリケーションを実行する仮想マシン (VM) が含まれています。 前のチュートリアルでは、単一ノード プールを持つ OS Guard クラスターを使用する Azure Linux を作成しました。 アプリケーションのさまざまなコンピューティング、ストレージ、またはセキュリティの要件を満たすために、ユーザー ノード プールを追加できます。

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

  • OS Guard ノード プールを含む Azure Linux を既存のクラスターに追加します。
  • ノード プールの状態を確認する。

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

考慮事項と制限事項

開始する前に、OS Guard (プレビュー) を使用した Azure Linux に関する次の考慮事項と制限事項を確認してください。

  • Os Guard を使用する Azure Linux には、Kubernetes バージョン 1.32.0 以降が必要です。
  • OS Guard イメージを使用するすべての Azure Linux では、 Federal Information Process Standard (FIPS)Trusted Launch が有効になっています。
  • Azure CLI と ARM テンプレートは、プレビュー段階の AKS 上の OS Guard を使用する Azure Linux でサポートされている唯一のデプロイ方法です。 PowerShell と Terraform はサポートされていません。
  • Arm64 イメージは、プレビュー段階の AKS 上の OS Guard を使用した Azure Linux ではサポートされていません。
  • NodeImageNone は、AKS 上の OS Guard を使用する Azure Linux でサポートされている唯一の OS アップグレード チャネル です。 Unmanaged および SecurityPatch は、変更できない /usr ディレクトリのため、OS Guard を使用する Azure Linux と互換性がありません。
  • アーティファクト ストリーミング はサポートされていません。
  • ポッドサンドボックス はサポートされていません。
  • Confidential Virtual Machines (CVM) は サポートされていません。
  • Gen 1 仮想マシン (VM) は サポートされていません。

[前提条件]

aksプレビューの Azure CLI 拡張機能をインストールする

Important

AKS のプレビュー機能は、セルフサービスのオプトイン単位で利用できます。 プレビューは、"現状有姿のまま" および "利用可能な限度" で提供され、サービス レベル アグリーメントおよび限定保証から除外されるものとします。 AKS プレビューは、ベストエフォート ベースでカスタマー サポートによって部分的にカバーされます。 そのため、これらの機能は運用環境での使用を目的としていません。 詳細については、次のサポート記事を参照してください。

  • aks-preview コマンドを使用して az extension add 拡張機能をインストールします。

    az extension add --name aks-preview
    
  • az extension update コマンドを使って拡張機能の最新バージョンに更新します。

    az extension update --name aks-preview
    

Azure Linux OS Guard プレビュー機能フラグを登録する

  1. AzureLinuxOSGuardPreview コマンドを使用して、az feature register 機能フラグを登録します。

    az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"
    

    状態が [登録済み] と表示されるまでに数分かかります。

  2. az feature show コマンドを使用して、登録の状態を確認します。

    az feature show --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"
    
  3. 状態に [登録済み] が反映されたらMicrosoft.ContainerService コマンドを使用して、az provider register リソース プロバイダーの登録を更新します。

    az provider register --namespace "Microsoft.ContainerService"
    

OS Guard ノード プールを使用して Azure Linux を追加する

az aks nodepool add コマンドを使用して既存のクラスターに OS Guard ノード プールを含む Azure Linux を追加し、--os-sku AzureLinuxOSGuardを指定します。 OS Guard で Azure Linux を使用するには、 FIPSセキュア ブートおよび pcm を有効にする必要もあります。 次の例では、 osgNodepool という名前のノード プールを作成し、 testAzureLinuxOSGuardResourceGroup リソース グループの testAzureLinuxOSGuardCluster クラスターに 3 つのノード 追加します。 環境変数が宣言され、リソース グループとクラスター名にランダムサフィックスが追加され、一意性が確保されます。

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 AzureLinuxOSGuard
    --node-osdisk-type Managed 
    --enable-fips-image 
    --enable-secure-boot 
    --enable-vtpm

出力例:

{
  "agentPoolType": "VirtualMachineScaleSets",
  "count": 3,
  "name": "osgNodepool",
  "osType": "Linux",
  "provisioningState": "Succeeded",
  "resourceGroup": "testAzureLinuxOSGuardResourceGroupxxxxx",
  "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": 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-2025.10.03",
    "orchestratorVersion": "1.32.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"
  },
  {
    "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": "AzureLinuxOSGuard-2025.10.03",
    "orchestratorVersion": "1.32.6",
    "osDiskSizeGb": 128,
    "osDiskType": "Managed",
    "osSku": "AzureLinuxOSGuard",
    "osType": "Linux",
    "powerState": {
      "code": "Running"
    },
    "provisioningState": "Succeeded",
    "resourceGroup": "myAKSResourceGroupxxxxx",
    "type": "Microsoft.ContainerService/managedClusters/agentPools",
    "vmSize": "Standard_DS2_v2"
  }
]

次のステップ

このチュートリアルでは、OS Guard ノード プールを含む Azure Linux を既存のクラスターに追加しました。 次のチュートリアルでは、OS Guard を使用して既存のノードを Azure Linux に移行する方法について説明します。