チュートリアル: OS Guard を使用してノードを Azure Linux に移行する (プレビュー)

Important

2026 年 12 月 10 日から、Azure Kubernetes Service (AKS)は OS Guard for AKS (プレビュー) を使用Azure Linux をサポートしなくなりました。 その時点で、AKS は OS Guard ノード イメージを使用して新しい Azure Linux を生成したり、セキュリティ パッチを提供したりしなくなり、os Guard を使用して linux Azure新しいノード プールを作成できなくなります。 2027 年 3 月 10 日、AKS は、OS Guard ノード イメージを使用して既存の Azure Linux をすべて削除します。これにより、スケーリングと修復 (再イメージ化と再デプロイ) 操作が失敗します。 中断を回避するには、Azure Container Linux (ACL) に移行します。 この提供終了の詳細については、廃止GitHubの問題とAzure更新プログラムの提供終了に関する発表を参照してください。 お知らせや更新プログラムに関する最新情報を入手するには、 AKS のリリース ノートに従ってください。

Note

Azure Linux と OS Guard (プレビュー) は、Azure Container Linux (ACL) に置き換えられます。

Azure Container Linux は、Azure Kubernetes Service (AKS)用の長期的で不変のコンテナー最適化 Linux オペレーティング システム (OS) です。 コンテナー化されたワークロードを大規模に実行するように設計された、セキュリティで保護され、最小限かつ運用上一貫性のあるホスト OS が提供されます。

詳細については、Azure Container Linux (ACL) の概要を参照してください。

このチュートリアルのパート 5 の 3 つ目では、既存のノードを OS Guard を使用して Linux Azureに移行します。 次のいずれかの方法を使用して、既存のノードを移行できます。

  • 既存のノード プールを削除し、新しい OS Guard ノード プールを追加します。
  • インプレース オペレーティング システム (OS) SKU の移行を実行します。

移行する既存のノードがない場合は、 次のチュートリアルに進んでください。 後のチュートリアルでは、クラスターでテレメトリと監視を有効にし、OS Guard ノードを使用して Azure Linux をアップグレードする方法について説明します。

OS Guard 使用時の Azure Linux に関する考慮事項と制限事項

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

Prerequisites

aks-preview 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

AzureLinuxOSGuardPreview フィーチャーフラグを登録する

  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 を追加し、既存のノード プールを削除する

  1. az aks nodepool add コマンドを使用して、OS Guard ノード プールを使用して新しい Azure Linux を追加します。 このコマンドは、--mode System フラグを指定してクラスターに新しいノード プールを追加します。これにより、それはシステム ノード プールになります。 OS Guard クラスターを使用する Azure Linux には、システム ノード プールが必要です。

    # Declare environment variables with a random suffix for uniqueness
    export RANDOM_SUFFIX=$(openssl rand -hex 3)
    export NODE_POOL_NAME="np$RANDOM_SUFFIX"
    
    # Add a new Azure Linux with OS Guard node pool
    az aks nodepool add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpm
    

    出力例:

    {
      "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool",
      "name": "systempool",
      "provisioningState": "Succeeded"
    }
    
  2. az aks nodepool delete コマンドを使って、既存のノードを削除します。

    az aks nodepool delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME 
    

OS SKU のインプレース移行

インプレース OS SKU の移行に関する制限事項

OS SKU 移行要求をブロックする可能性がある設定がいくつかあります。 移行を成功させるには、次のガイドラインと制限事項を確認してください。

  • OS SKU 移行機能は、PowerShell または Azure portal では使用できません。 Azure Linux と OS Guard pPreview) で OS SKU 移行機能を使用する場合、Terraform、PowerShell、またはAzure ポータルでは使用できません。
  • OS SKU 移行機能では、既存のノード プールの名前変更はサポートされていません。
  • サポートされている Linux OS SKU 移行ターゲットは、Ubuntu、Azure Linux、Azure Linux と OS Guard のみです。
  • Azure Linux と OS Guard では、信頼できる起動が既定で必要です。 OS Guard を使用して Azure Linux に移行するには、トラステッド起動を有効にする必要があります。 これには、新しいノード プールの作成が必要になる場合があります。
  • OS Guard で Azure Linux を有効にする場合は、FIPS が必要です。 現在 FIPS イメージを使用していない場合は、ノード プールの更新コマンドに --enable-fips を含めることができます。
  • Gen 1 仮想マシン (VM) は サポートされていません。
  • UseGPUDedicatedVHD が有効になっている Ubuntu OS SKU では、OS SKU の移行を実行できません。
  • Confidential Virtual Machines (CVM) は サポートされていません。
  • ポッドサンドボックス はサポートされていません。
  • Windows OS SKU の移行はサポートされていません。

インプレース OS SKU マイグレーションの前提条件

  • 少なくとも 1 つの Azure Linux ノード プールを持つ既存の AKS クラスター。
  • OS SKU 移行機能を使用する前に、Azure Linux と OS Guard コンテナー ホストでワークロードを構成して正常に実行することをお勧めします。そのためには、Dev/prod に AZURE Linux と OS Guard クラスターをデプロイ し、サービスが正常な状態を維持していることを確認します。
  • 運用クラスターでプロセスを使う前に、移行機能が動作することをテストと開発環境で確認します。
  • アップグレード中に AKS が VM 間でポッドを移動できるように、ポッドに十分な ポッド中断予算 (PDB) があることを確認します。
  • Azure CLI バージョン 2.61.0 以降が必要です。 az version コマンドを使用してバージョンを検索します。 最新バージョンにアップグレードするには、 az upgrade コマンドを使用します。

OS Guard を使用して Azure Linux コンテナー ホスト ノード プールの OS SKU を Azure Linux に移行する

OS Guard を使用して既存の Ubuntu または Azure Linux ノード プールを Azure Linux に移行するには、ノード プールの OS SKU を変更します。これにより、クラスターは標準ノード イメージのアップグレード プロセスを通じてロールされます。 この新機能では、新しいノード プールを作成する必要はありません。代わりに、既存のノード プールが自動的に再イメージ化されます。

az aks nodepool update コマンドを使用して、OS Guard を使用してノード プールの OS SKU を Azure Linux に移行します。 このコマンドは、ノード プールの再イメージ化をトリガーし、OS Guard を使用してノード プールの OS SKU を Azure Linux から Azure Linux に更新します。 OS SKU の変更によって即時アップグレード操作がトリガーされ、完了までに数分かかります。

az aks nodepool update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --os-sku AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpm

出力例:

{
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
  "name": "nodepool1",
  "osSku": "AzureLinuxOSGuard",
  "provisioningState": "Succeeded"
}

Note

OS SKU の移行中に問題が発生した場合は、以前の OS SKU にロールバックできます。