Kubernetes バージョン 1.20 以降では、Windows Server 2019 ノード プールのコンテナー ランタイムとして containerd を指定できます。 Kubernetes 1.23 以降では、containerd のみが Windows の既定のコンテナー ランタイムです。
この記事では、Azure Kubernetes Service (AKS) で containerd を使用して Windows Server ノード プールを作成する方法について説明します。
[前提条件]
-
Azure CLI がインストールされ、構成されました。
az versionコマンドを使用してバージョンを検索します。 インストールまたはアップグレードが必要な場合は、Azure CLI のインストールを参照してください。 - システム ノード プールを持つ既存の AKS クラスター。 作成する必要がある場合は、「 単一ノード プールを使用した AKS クラスターの作成」を参照してください。
制限事項と考慮事項
containerdで Windows Server ノード プールを使用する場合は、次の制限事項と考慮事項に注意してください。
- コントロール プレーンと Windows Server 2019 の両方のノードプールで、Kubernetes バージョン 1.20 以上を使用する必要があります。
- Windows Server コンテナーを実行するようにノード プールを作成または更新する場合、
--node-vm-sizeの既定値はStandard_D2s_v3です。これは、Kubernetes バージョン 1.20 までの Windows Server 2019 ノード プールの最小推奨サイズでした。containerdを使用する Windows Server 2019 ノード プールの推奨最小サイズはStandard_D4s_v3。--node-vm-sizeパラメーターを設定するときは、制限付き仮想マシン (VM) サイズの一覧を確認します。 - Windows Server 2019 ノード プールで テイントまたはラベル を使用し、デプロイメントでは容認またはノードセレクタを使用して、ワークロードが正しくスケジュールされることを保証することをお勧めします。
containerd を使用して Windows Server ノード プールを追加する
[
containerd][az-aks-nodepool-add] を使用して、az aks nodepool addを含む Windows Server ノード プールを既存のクラスターに追加します。注
WindowsContainerRuntime=containerdカスタムヘッダーを指定しない場合、既定でノード プールはcontainerdをコンテナー ランタイムとして使用します。az aks nodepool add \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --os-type Windows \ --name $CONTAINER_D_NODE_POOL_NAME \ --node-vm-size Standard_D4s_v3 \ --kubernetes-version 1.20.5 \ --aks-custom-headers WindowsContainerRuntime=containerd \ --node-count 1
既存の Windows Server ノード プールをアップグレードして containerd
[
containerd][az-aks-nodepool-upgrade] コマンドを使用して、特定のノード プールを Docker からaz aks nodepool upgradeにアップグレードします。export CONTAINER_D_NODE_POOL_NAME="mywindowsnodepool" az aks nodepool upgrade \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name $CONTAINER_D_NODE_POOL_NAME \ --kubernetes-version 1.20.7 \ --aks-custom-headers WindowsContainerRuntime=containerd
既存のすべての Windows Server ノード プールを containerd にアップグレードする
[
containerd][az-aks-nodepool-upgrade] コマンドを使用して、すべてのノード プールを Docker からaz aks nodepool upgradeにアップグレードします。az aks nodepool upgrade \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --kubernetes-version 1.20.7 \ --aks-custom-headers WindowsContainerRuntime=containerd
次のステップ
AKS のノード プールの詳細については、「 Azure Kubernetes Service (AKS) でのクラスターのノード プールの管理」を参照してください。