次の方法で共有


2509 より前の Azure ローカル バージョンで Windows ノード プール機能を無効にする

> 適用対象: Azure Local バージョン 2508 以前の AKS

Azure Local リリース 2509 以降では、Windows ノード プール機能は既定で無効になっています。 Azure Local バージョン 2508 以前を使用している場合は、この記事の手順に従って Windows ノード プール機能を無効にすることができます。 バージョン 2509 以降については、「 Windows ノード プール機能を有効にする」を参照してください。

この記事では、Azure ローカル バージョン 2508 以前の Azure Kubernetes Service (AKS) の Windows ノード プール機能を無効にする方法について説明します。 この機能を無効にすると、サイズが約 20 GB で、Windows ベースのノード プールを作成するために必要な Windows 仮想ハード ディスク (VHD) が自動的にダウンロードされないようにすることができます。 これにより、インターネット帯域幅が制限されている企業は、特にワークロードが Linux コンテナーのみを使用している場合に、不要なダウンロードを回避できます。 これにより、帯域幅の使用を最適化し、Windows ノードが必要ない環境のリソース管理が簡素化されます。

開始する前に

始める前に、以下の前提条件を満たしていることを確認してください。

  • Azure ローカル デプロイ。 この記事は、Azure Local (リリース 2508 以前) を既にデプロイしている場合にのみ適用されます。 Azure Local をデプロイする前に、この記事のコマンドを実行することはできません。 現時点では、最初の Azure ローカル デプロイの前にこの変更を行う機能はサポートされていません。
  • Azure ローカル構成を更新するための Azure RBAC アクセス許可。 以下のロールがそろっていることを確認してください。 詳細については、デプロイ 必要なアクセス許可を参照してください:
    • Azure ローカル管理者
    • リーダー
  • カスタム ロケーション。 カスタムロケーションの名前。 カスタムの場所は、Azure ローカル デプロイ中に構成されます。 Azure portal を使用している場合は、Azure ローカル システム リソースの Overview > Server ページに移動します。 クラスターのカスタムの場所が表示されます。
  • Azure リソース グループ。 Azure Local がデプロイされている Azure リソース グループ。

構成を簡略化するために、次の手順では、この記事で参照される環境変数を定義します。 表示される値は、必ず独自の値に置き換えてください。

環境変数でカスタムの場所とリソース グループの値を設定します。

$customlocationName = <The custom ___location name for Azure Local>
$resourceGroup = <The Azure resource group in which Azure Local is deployed>

次に、次のコマンドを実行して、 clusterName パラメーターを取得します。 このパラメーターは、Azure Local にデプロイした Arc リソース ブリッジの名前です。

az customlocation show -n $customlocationName -g $resourceGroup --query hostResourceId

予想される出力:

/subscriptions/f3dwer-00000-4383-2345-00000/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge

この出力では、 sanjose-arcbridge は Azure ローカル クラスターにデプロイした Arc リソース ブリッジの名前です。 この名前はデプロイの名前とは異なります。

$clusterName = <Name of Arc resource bridge deployed on the Azure Local cluster>

次に、カスタムの場所にデプロイした AKS Arc 拡張機能の名前を取得します。 この名前を取得するには、次のコマンドを実行して、カスタムの場所にインストールされている拡張機能を一覧表示します。

az customlocation show -n $customlocationID -g $resourceGroup --query clusterExtensionIds -o tsv

予想される出力:

/subscriptions/fbaf508b-cb61-4383-9cda-a42bfa0c7bc9/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge/providers/Microsoft.KubernetesConfiguration/extensions/hybridaksextension
/subscriptions/fbaf508b-cb61-4383-9cda-a42bfa0c7bc9/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge/providers/Microsoft.KubernetesConfiguration/extensions/vmss-hci

カスタムの場所には、AKS Arc と Arc VM の管理という 2 つの拡張機能がインストールされている必要があります。 AKS の拡張機能名を環境変数にコピーします。 出力例では、拡張機能名は hybridaksextension。 表示される内容とは異なる場合があります。

$extensionName = <Name of AKS Arc extension you deployed on the custom ___location>

拡張機能名を取得したら、次のパラメーターの変数を作成し、Windows ノード プール機能を無効にします。

$extensionVersion = "$(az k8s-extension show -n $extensionName  -g $resourceGroup -c $clusterName --cluster-type appliances --query version -o tsv)"
$releaseTrain = "$(az k8s-extension show -n $extensionName -g $resourceGroup -c $clusterName --cluster-type appliances --query releaseTrain -o tsv)"
az k8s-extension update --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --name $extensionName --version $extensionVersion --release-train $releaseTrain --config disable-windows-nodepool=true --yes

代替オプション: リモート デスクトップ経由で Azure ローカル物理ノードに接続した後に Windows ノード プールを無効にする

何らかの理由で、Windows ノード プールを無効にするために Azure CloudShell または Azure に接続されているマシンを使用できない場合は、リモート デスクトップを使用して Azure ローカル物理ノードのいずれかに接続した後で、Windows ノード プールを無効にすることができます。 最初に Azure にサインインする必要があります。

az login --use-device-code --tenant <Azure tenant ID>
az account set -s <subscription ID>
$res=get-archcimgmt
 
az k8s-extension update --resource-group $res.HybridaksExtension.resourceGroup --cluster-name $res.ResourceBridge.name --cluster-type appliances --name $res.HybridaksExtension.name --version $res.HybridaksExtension.version --release-train  $res.HybridaksExtension.releaseTrain --config disable-windows-nodepool=true --yes 

Windows ノード プール機能が無効になっているかどうかを検証する

次のように、 az k8s-extension showを実行して、構成設定が適用されたかどうかを確認できます。

az k8s-extension show --name $extensionName --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --query configurationSettings 

予想される出力:

...
"disable-windows-nodepool": "true",
...

次に、次のコマンドを実行して、Windows ノード プールが無効になっているかどうかを確認します。

az aksarc get-versions --resource-group $resourceGroup --custom-___location $customlocationName

osType=Windowsの出力には "Windows ノード プール機能が無効になっています" と表示され、ready状態は Kubernetes のバージョン オプションごとにfalseする必要があります。

...
"1.27.7": {
            "readiness": [
              {
                "errorMessage": null,
                "osSku": "CBLMariner",
                "osType": "Linux",
                "ready": true
              },
              {
                "errorMessage": "Windows node pool feature is disabled",
                "osSku": "Windows2019",
                "osType": "Windows",
                "ready": false
              },
              {
                "errorMessage": "Windows node pool feature is disabled",
                "osSku": "Windows2022",
                "osType": "Windows",
                "ready": false
              }
            ],
...

FAQ

Windows ノード プールを無効にしようとすると、Azure ローカル デプロイ上の少なくとも 1 つの AKS クラスターに Windows ノード プールが存在する場合はどうなりますか。

この機能を無効にする前に、Windows ノード プールを手動で削除する必要があります。 既存の Windows ノード プールがある場合、この機能を無効にすることはできません。

Windows ノード プールを無効にした場合、ダウンロードした Windows VHD はどうなりますか?

Windows ノード プール機能が無効になっている場合、以前にダウンロードされた Windows VHD は自動的に削除されます。 Windows VHD が削除されたかどうかを確認するには、Azure ローカル ストレージ パスを確認します。 削除には時間がかかる場合があります。 確認する前に 30 分待ちます。 Windows VHD は、使用可能なストレージ容量に基づいてラウンド ロビン方式でストレージ パスに割り当てられるため、すべてのストレージ パスを確認する必要があります。

次のステップ