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 ではサポートされていません。
-
NodeImageとNoneは、AKS 上の OS Guard を使用する Azure Linux でサポートされている唯一の OS アップグレード チャネル です。UnmanagedおよびSecurityPatchは、変更できない /usr ディレクトリのため、OS Guard を使用する Azure Linux と互換性がありません。 - アーティファクト ストリーミング はサポートされていません。
- ポッドサンドボックス はサポートされていません。
- Confidential Virtual Machines (CVM) は サポートされていません。
- Gen 1 仮想マシン (VM) は サポートされていません。
[前提条件]
- 前のチュートリアルでは、OS Guard クラスターを使用して Azure Linux を作成してデプロイしました。 これらの手順を完了していない場合は、「 チュートリアル 1: AZURE Linux と OS Guard for AKS を使用してクラスターを作成する」を参照してください。
- 最新バージョンの Azure CLI が必要です。
az versionコマンドを使用してバージョンを検索します。 最新バージョンにアップグレードするには、az upgradeコマンドを使用します。
aksプレビューの Azure CLI 拡張機能をインストールする
Important
AKS のプレビュー機能は、セルフサービスのオプトイン単位で利用できます。 プレビューは、"現状有姿のまま" および "利用可能な限度" で提供され、サービス レベル アグリーメントおよび限定保証から除外されるものとします。 AKS プレビューは、ベストエフォート ベースでカスタマー サポートによって部分的にカバーされます。 そのため、これらの機能は運用環境での使用を目的としていません。 詳細については、次のサポート記事を参照してください。
aks-previewコマンドを使用してaz extension add拡張機能をインストールします。az extension add --name aks-previewaz extension updateコマンドを使って拡張機能の最新バージョンに更新します。az extension update --name aks-preview
Azure Linux OS Guard プレビュー機能フラグを登録する
AzureLinuxOSGuardPreviewコマンドを使用して、az feature register機能フラグを登録します。az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"状態が [登録済み] と表示されるまでに数分かかります。
az feature showコマンドを使用して、登録の状態を確認します。az feature show --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"状態に [登録済み] が反映されたら、
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 に移行する方法について説明します。