Freigeben über


Erstellen von Windows Server-Knotenpools mit Containern in Azure Kubernetes Service (AKS)

Für Kubernetes, Version 1.20 und höher, können Sie als Containerlaufzeit für Windows Server 2019-Knotenpools angeben containerd . Ab Kubernetes 1.23 ist containerd die einzige Container-Laufzeitumgebung für Windows.

In diesem Artikel erfahren Sie, wie Sie Windows Server-Knotenpools mit containerd Azure Kubernetes Service (AKS) erstellen.

Voraussetzungen

Einschränkungen und Überlegungen

Beachten Sie bei der Verwendung von Windows Server-Knotenpools containerddie folgenden Einschränkungen und Überlegungen:

  • Sowohl die Steuerungsebene als auch die Windows Server 2019-Knotenpools müssen Kubernetes Version 1.20 oder höher verwenden.
  • Wenn Sie einen Knotenpool zum Ausführen von Windows Server-Containern erstellen oder aktualisieren, ist der Standardwert für --node-vm-sizeStandard_D2s_v3, dies war bis zu Kubernetes-Version 1.20 die mindestens empfohlene Größe für Windows Server 2019-Knotenpools. Die empfohlene Mindestgröße für Windows Server 2019-Knotenpools mit containerd ist Standard_D4s_v3. Überprüfen Sie beim Festlegen des Parameters die --node-vm-size parameter, check the list of restricted virtual machine (VM) sizes.
  • Es wird empfohlen, Taints oder Bezeichnungen mit Ihren Windows Server 2019-Knotenpools zu verwenden, die mit containerd ausgeführt werden. Außerdem sollten Sie mit Ihren Bereitstellungen Toleranzen oder Knotenselektoren verwenden, um eine ordnungsgemäße Planung Ihrer Workloads zu gewährleisten.

Hinzufügen eines Windows Server-Knotenpools mit containerd

  • Fügen Sie einen Windows Server-Knotenpool mit containerd dem [az aks nodepool add][az-aks-nodepool-add] zu Ihrem vorhandenen Cluster hinzu.

    Hinweis

    Wenn Sie den benutzerdefinierten Header WindowsContainerRuntime=containerd nicht angeben, wird der Knotenpool containerd dennoch standardmäßig als Runtime für den Container verwenden.

    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
    

Upgrade eines vorhandenen Windows Server-Knotenpools auf containerd

  • Aktualisieren eines bestimmten Knotenpools von Docker auf containerd mithilfe des Befehls [az aks nodepool upgrade][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
    

Upgrade aller vorhandenen Windows Server-Knotenpools auf containerd

  • Aktualisieren Sie alle Knotenpools von Docker auf containerd, indem Sie den Befehl [az aks nodepool upgrade][az-aks-nodepool-upgrade] verwenden.

    az aks nodepool upgrade \
        --resource-group $RESOURCE_GROUP \
        --cluster-name $CLUSTER_NAME \
        --kubernetes-version 1.20.7 \
        --aks-custom-headers WindowsContainerRuntime=containerd
    

Nächste Schritte

Weitere Informationen zu Knotenpools in AKS finden Sie unter Verwalten von Knotenpools für einen Cluster in Azure Kubernetes Service (AKS).For more information about node pools in AKS, see Manage node pools for a cluster in Azure Kubernetes Service (AKS).