Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird erläutert, wie Sie die automatische Bereitstellung von Knoten (Node Auto-Provisioning, NAP) in Azure Kubernetes Service (AKS) mit den Vorlagen Azure CLI oder Azure Resource Manager (ARM) aktivieren oder deaktivieren.
Wenn Sie einen NAP-fähigen AKS-Cluster mit einem benutzerdefinierten virtuellen Netzwerk (VNet) und Subnetzen erstellen möchten, lesen Sie die Informationen unter Erstellen eines NAP-Clusters (Node Auto-Provisioning, automatische Knotenbereitstellung) in einem benutzerdefinierten virtuellen Netzwerk.
Bevor Sie anfangen
Bevor Sie beginnen, lesen Sie die Übersicht über die automatische Bereitstellung von Knoten (Node Auto-Provisioning, NAP) in AKS-Artikel , in dem erläutert wird, wie NAP funktioniert, Voraussetzungen und Einschränkungen.
Automatische Knoten-Bereitstellung (Node Auto-Provisioning, NAP) auf einem AKS-Cluster aktivieren
In den folgenden Abschnitten wird erläutert, wie NAP für einen neuen oder vorhandenen AKS-Cluster aktiviert wird:
Hinweis
Sie können Metriken auf Steuerungsebene aktivieren, um die Protokolle und Vorgänge der automatischen Bereitstellung von Knoten mit dem Add-On für den verwalteten Azure Monitor-Dienst für Prometheus anzuzeigen.
Aktivieren von NAP für einen neuen Cluster
Aktivieren Sie die automatische Bereitstellung von Knoten für einen neuen Cluster mithilfe des
az aks create-Befehls, und legen Sie dabei das Flag--node-provisioning-modeaufAutofest. Der folgende Befehl legt außerdem den--network-pluginWert aufazure,--network-plugin-modeaufoverlayund--network-dataplaneaufcilium.az aks create \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --node-provisioning-mode Auto \ --network-plugin azure \ --network-plugin-mode overlay \ --network-dataplane cilium \ --generate-ssh-keys
Erstellen Sie eine Datei mit dem Namen
nap.json, und fügen Sie die folgende ARM-Vorlagenkonfiguration hinzu, wobei das Feldproperties.nodeProvisioningProfile.modeaufAutofestgelegt ist, was NAP ermöglicht. (Die Standardeinstellung istManual.){ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "metadata": {}, "parameters": {}, "resources": [ { "type": "Microsoft.ContainerService/managedClusters", "apiVersion": "2025-05-01", "sku": { "name": "Base", "tier": "Standard" }, "name": "napcluster", "location": "uksouth", "identity": { "type": "SystemAssigned" }, "properties": { "networkProfile": { "networkPlugin": "azure", "networkPluginMode": "overlay", "networkPolicy": "cilium", "networkDataplane":"cilium", "loadBalancerSku": "Standard" }, "dnsPrefix": "napcluster", "agentPoolProfiles": [ { "name": "agentpool", "count": 3, "vmSize": "standard_d2s_v3", "osType": "Linux", "mode": "System" } ], "nodeProvisioningProfile": { "mode": "Auto" } } } ] }Aktivieren Sie die automatische Bereitstellung von Knoten auf einem neuen Cluster mithilfe des
az deployment group createBefehls, wobei das--template-fileKennzeichen auf den Pfad der ARM-Vorlagendatei festgelegt ist.az deployment group create --resource-group $RESOURCE_GROUP --template-file ./nap.json
Aktivieren von NAP auf einem vorhandenen Cluster
Aktivieren Sie die automatische Bereitstellung von Knoten für einen vorhandenen Cluster mithilfe des
az aks update-Befehls, und legen Sie dabei das Flag--node-provisioning-modeaufAutofest.az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --node-provisioning-mode Auto
Deaktivieren der automatischen Bereitstellung von Knoten (Node Auto-Provisioning, NAP) in einem AKS-Cluster
Von Bedeutung
Sie können NAP nur für einen Cluster deaktivieren, wenn die folgenden Bedingungen erfüllt sind:
- Es sind keine NAP-Knoten vorhanden. Sie können den
kubectl get nodes -l karpenter.sh/nodepoolBefehl verwenden, um nach vorhandenen NAP-verwalteten Knoten zu suchen. - Alle vorhandenen Karpenter
NodePoolshaben ihrspec.limits.cpuFeld auf0festgelegt. Diese Aktion verhindert, dass neue Knoten erstellt werden, aber die derzeit ausgeführten Knoten werden nicht unterbrochen.
Legen Sie das Feld
spec.limits.cpufür alle vorhandenen Karpenter-NodePool-Elemente auf0fest. Beispiel:apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: default spec: limits: cpu: 0Von Bedeutung
Wenn Sie nicht sicherstellen möchten, dass alle zuvor auf einem NAP-Knoten ausgeführten Pods vor dem Deaktivieren von NAP sicher zu einem Nicht-NAP-Knoten migriert werden, können Sie die Schritte 2 und 3 überspringen und stattdessen den
kubectl delete nodeBefehl für jeden NAP-verwalteten Knoten verwenden. Das Überspringen der Schritte 2 und 3 wird jedoch nicht empfohlen, da einige Pods ausstehend sein können und Pod-Unterbrechungsbudgets (PDBs) nicht berücksichtigt werdenAchten Sie beim Verwenden des
kubectl delete nodeBefehls darauf, nur NAP-verwaltete Knoten zu löschen. Sie können NAP-verwaltete Knoten mithilfe deskubectl get nodes -l karpenter.sh/nodepoolBefehls identifizieren.Fügen Sie den Taint
karpenter.azure.com/disable:NoSchedulezu jedem Karpenter-NodePool-Element hinzu. Beispiel:apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: default spec: template: spec: ... taints: - key: karpenter.azure.com/disable effect: NoScheduleDiese Aktion startet den Prozess der Migration der Workloads auf den von NAP verwalteten Knoten zu nicht von NAP verwalteten Knoten, wobei PDBs und Unterbrechungsgrenzwerte berücksichtigt werden. Pods migrieren zu nicht von der automatischen Bereitstellung von Knoten verwalteten Knoten, wenn sie passen. Wenn nicht genügend Kapazität mit fester Größe vorhanden ist, bleiben einige Knoten erhalten, die von NAP verwaltet werden.
Skalieren Sie vorhandene
ManagedClusterAgentPoolsmit fester Größe, oder erstellen Sie ein neuesAgentPools-Element mit fester Größe, um die Last von den durch NAP verwalteten Knoten zu übernehmen. Wenn diese Knoten dem Cluster hinzugefügt werden, werden von NAP verwaltete Knoten ausgeglichen, und die Arbeit wird zu den Knoten mit fester Größe migriert.Löschen Sie alle NAP-verwalteten Knoten mithilfe des
kubectl get nodes -l karpenter.sh/nodepoolBefehls. Wenn noch NAP-verwaltete Knoten vorhanden sind, fehlt dem Cluster wahrscheinlich die Kapazität mit fester Größe. In diesem Fall sollten Sie weitere Knoten hinzufügen, damit die verbleibenden Workloads migriert werden können.
Aktualisieren Sie den NAP-Modus auf
Manualunter Verwendung desaz aks updateAzure CLI-Befehls, wobei der Schalter--node-provisioning-modeaufManualgesetzt ist.az aks update \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --node-provisioning-mode Manual
Aktualisieren Sie das
properties.nodeProvisioningProfile.mode-Feld zuManualin Ihrer ARM-Vorlage und stellen Sie es erneut bereit.{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "metadata": {}, "parameters": {}, "resources": [ { "type": "Microsoft.ContainerService/managedClusters", "apiVersion": "2025-05-01", "sku": { "name": "Base", "tier": "Standard" }, "name": "napcluster", "location": "uksouth", "identity": { "type": "SystemAssigned" }, "properties": { "networkProfile": { "networkPlugin": "azure", "networkPluginMode": "overlay", "networkPolicy": "cilium", "networkDataplane":"cilium", "loadBalancerSku": "Standard" }, "dnsPrefix": "napcluster", "agentPoolProfiles": [ { "name": "agentpool", "count": 3, "vmSize": "standard_d2s_v3", "osType": "Linux", "mode": "System" } ], "nodeProvisioningProfile": { "mode": "Manual" } } } ] }
Nächste Schritte
Weitere Informationen zur automatischen Bereitstellung von Knoten in AKS finden Sie in den folgenden Artikeln:
- Automatische Bereitstellung von Knoten in einem benutzerdefinierten virtuellen Netzwerk verwenden
- Konfigurieren von Netzwerken für die automatische Bereitstellung von Knoten auf AKS
- Konfigurieren von Knotenpools für die automatische Bereitstellung von Knoten auf AKS
- Konfigurieren von Störungsrichtlinien für die automatische Knotenbereitstellung auf AKS
- Aktualisierung der Knotenimages für die automatische Bereitstellung von Knoten auf AKS