AKS 自動クラスターとマネージド システム ノード プールの移行

適用対象: ✔️ AKS 自動 ✔️ AKS Standard

この記事では、サポートされている マネージド システム ノード プール と AKS Standard 構成の間で AKS 自動クラスターを移行する方法について説明します。

サポートされる移行パス

移行経路 Support
マネージド システム ノード プールを備えた AKS Automatic から AKS Standard (base SKU) へ サポートされている
マネージド システム ノード プールなしの AKS Automatic から、マネージド システム ノード プールありの AKS Automatic へ マネージド システム ノード プールが一般公開されているリージョンでプレビューでサポートされます
マネージド システム ノード プールを使用した、AKS Standard (base SKU) から AKS Automatic への移行 もうすぐです
マネージド システム ノード プールを使用する AKS Automatic から、マネージド システム ノード プールを使用しない AKS Automatic へ サポートしていません

マネージド システム ノード プールを含む AKS 自動クラスターから AKS Standard クラスターに移行する

移行のしくみ

マネージド システム ノード プールを含む AKS 自動クラスターは、AKS が自動的にプロビジョニング、スケーリング、アップグレードするシステム ノード プールでシステム コンポーネントを実行します。

Important

AKS Standard (base SKU) クラスターではマネージド システム ノード プールが有効になっていないため、システム ノード プールとシステム コンポーネントの実行、管理、アップグレードを行う必要があります。

AKS Automatic から AKS Standard に移行するには、次の大まかな手順を実行します。

  1. 自己管理システム ノード プールを AKS 自動クラスターに追加します。
  2. クラスター SKU を automatic から base に更新します。

SKU を更新すると、クラスターは AKS Standard クラスターとして実行され、追加して管理したシステム ノード プールでシステム コンポーネントが実行されます。

AKS Standard クラスターへの移行

  1. az aks nodepool add コマンドを使用して、既存の AKS 自動クラスターに自己管理システム ノード プールを追加します。 移行後にシステム コンポーネントを実行できるように、ノード プール モードを System に設定します。

    az aks nodepool add \
        --resource-group "${RESOURCE_GROUP}" \
        --cluster-name "${RESOURCE_NAME}" \
        --name systempool \
        --mode System \
        --node-count 3
    
  2. automatic コマンドを使用して、クラスター SKU を base から az aks update に更新します。

    az aks update \
        --resource-group "${RESOURCE_GROUP}" \
        --name "${RESOURCE_NAME}" \
        --sku base
    

移行を検証する

  1. base コマンドを使用して、クラスターで az aks show SKU が使用されていることを確認します。

    az aks show \
        --resource-group "${RESOURCE_GROUP}" \
        --name "${RESOURCE_NAME}" \
        --query "sku" \
        --output table
    
  2. System コマンドを使用して、クラスター上のノード プールを一覧表示して、セルフマネージド システム ノード プールが存在し、az aks nodepool list モードであることを確認します。

    az aks nodepool list \
        --resource-group "${RESOURCE_GROUP}" \
        --cluster-name "${RESOURCE_NAME}" \
        --query "[].{Name:name, Mode:mode, Count:count}" \
        --output table
    

マネージド システム ノード プールのない AKS 自動クラスターから、マネージド システム ノード プールを使用して AKS Automatic に移行する (プレビュー)

AKS 自動では、非管理対象システム ノード プールから、マネージド システム ノード プールが一般公開されているリージョンのマネージド システム ノード プールへのプレビュー移行がサポートされます。 この移行により、クラスターは automatic SKU に保持され、AKS システム コンポーネントは AKS によって管理されるシステム ノード プールに移動されます。

Prerequisites

Important

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

  • マネージド システム ノード プールのない既存の AKS 自動クラスター。
  • Azure CLI バージョン 2.86.0 以降。 バージョンを見つけるには、 az --versionを実行します。 インストールまたはアップグレードが必要な場合は、Azure CLI のインストールを参照してください。
  • 最新バージョンの aks-preview Azure CLI 拡張機能。
  • サブスクリプションに登録されている Microsoft.ContainerService/NonHoboToHoboConversionPreview 機能フラグ。

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

az feature register \
    --namespace Microsoft.ContainerService \
    --name NonHoboToHoboConversionPreview

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

az feature show \
    --namespace Microsoft.ContainerService \
    --name NonHoboToHoboConversionPreview \
    --query properties.state \
    --output tsv

続行する前に、コマンドが Registered を返すまで待ちます。 次に、 Microsoft.ContainerService リソース プロバイダーの登録を更新します。

az provider register --namespace Microsoft.ContainerService

aks-preview拡張機能をインストールまたは更新します。

az extension add --name aks-preview
az extension update --name aks-preview

AKS で管理される仮想ネットワーク クラスターを移行する

AKS マネージド ネットワークを使用する AKS 自動クラスターの場合は、--enable-hosted-system パラメーターを指定して az aks update コマンドを使用して、マネージド システム ノード プールに移行します。

az aks update \
    --resource-group "${RESOURCE_GROUP}" \
    --name "${RESOURCE_NAME}" \
    --enable-hosted-system

カスタム仮想ネットワーク クラスターを移行する

カスタム仮想ネットワークを使用する AKS 自動クラスターの場合は、 --system-node-subnet-id パラメーターを使用してマネージド システム ノード プールのサブネットを指定します。 システム ノード サブネットは次の手順を実行する必要があります。

  • クラスターと同じ仮想ネットワークとリージョンに存在する。
  • 少なくとも /26。
  • 別のサービスに委任されません。
  • ノード サブネットとは異なります。

--node-subnet-id パラメーターは省略可能です。 指定しない場合、AKS は既存のシステム ノード プール サブネットを使用します。

az aks update \
    --resource-group "${RESOURCE_GROUP}" \
    --name "${RESOURCE_NAME}" \
    --enable-hosted-system \
    --system-node-subnet-id "${SYSTEM_NODE_SUBNET_ID}" \
    --node-subnet-id "${NODE_SUBNET_ID}"

移行を検証する

az aks show コマンドを使用して、クラスターでマネージド システム ノード プールが使用されたことを確認します。

az aks show \
    --resource-group "${RESOURCE_GROUP}" \
    --name "${RESOURCE_NAME}" \
    --query hostedSystemProfile \
    --output json

次の出力例は、trueに設定された hostedSystemProfile.enabled プロパティを示しています。

{
  "enabled": true,
  "nodeSubnetId": "<node-subnet-resource-id>",
  "systemNodeSubnetId": "<system-node-subnet-resource-id>"
}