Azure Kubernetes Service(AKS)-Cluster starten und beenden
Ihre Azure Kubernetes Service(AKS)-Workloads müssen möglicherweise nicht kontinuierlich ausgeführt werden. Beispielsweise verfügen Sie möglicherweise über einen Entwicklungs-Cluster, der nur während der Geschäftszeiten verwendet wird. In diesem Fall können Zeiten auftreten, in denen sich Ihr Cluster im Leerlauf befindet und nur die Systemkomponenten ausgeführt werden. Dann können Sie den Speicherbedarf des Clusters reduzieren, indem Sie alle User
-Knotenpools auf 0 skalieren. Der System
-Pool wird jedoch weiterhin für die Ausführung der Systemkomponenten benötigt, solange der Cluster ausgeführt wird.
Um Ihre Kosten während dieser Zeiträume besser zu optimieren, können Sie Ihren Cluster ausschalten (beenden). Durch diese Aktion werden die Steuerungsebene und die Agent-Knoten beendet, sodass Sie alle Computerkosten sparen können, während Sie alle Ihre Objekte mit Ausnahme eigenständiger Pods beibehalten. Der Cluster-Status wird gespeichert, wenn Sie ihn erneut starten, sodass Sie dort weitermachen können, wo Sie aufgehört haben.
Achtung
Wenn Sie den Cluster beenden, wird die Zuordnung der Steuerungsebene aufgehoben und die Kapazität freigegeben. In Regionen, in denen Kapazitätsbeschränkungen auftreten, können Kund*innen möglicherweise keinen beendeten Cluster starten. Es wird nicht empfohlen, unternehmenskritische Workloads aus diesem Grund zu beenden.
Hinweis
Mit AKS-Startvorgängen werden alle Objekte aus ETCD mit Ausnahme von eigenständigen Pods mit den gleichen Namen und dem gleichen Alter wiederhergestellt. Das bedeutet, dass das Alter eines Pods weiterhin aus der ursprünglichen Erstellungszeit berechnet wird. Diese Anzahl wird im Laufe der Zeit immer größer, unabhängig davon, ob sich der Cluster in einem beendeten Zustand befindet.
Voraussetzungen
In diesem Artikel wird vorausgesetzt, dass Sie über einen AKS-Cluster verfügen. Wenn Sie einen AKS-Cluster benötigen, können Sie einen mithilfe der Azure-Befehlszeilenschnittstelle, mit Azure PowerShell oder über das Azure-Portal erstellen.
Informationen zum Feature zum Starten/Beenden von Clustern
Wenn Sie das Feature zum Beenden/Starten von Clustern verwenden, gelten die folgenden Bedingungen:
- Dieses Feature wird nur für Backend-Cluster für Virtual Machine Scale Sets unterstützt.
- Cluster, die das Node Autoprovisioning-Feature (NAP) verwenden, können nicht beendet werden.
- Der Clusterstatus eines beendeten AKS-Clusters wird bis zu 12 Monate beibehalten. Wenn Ihr Cluster länger als 12 Monate angehalten wird, kann der Status nicht mehr wiederhergestellt werden. Weitere Informationen finden Sie unter Unterstützungsrichtlinien für Azure Kubernetes Service.
- Start- und Löschvorgänge können nur an einem beendeten AKS-Cluster ausgeführt werden. Wenn Sie andere Vorgänge wie eine Skalierung oder ein Upgrade ausführen möchten, müssen Sie zuerst Ihren Cluster starten.
- Wenn Sie PrivateEndpoints bereitgestellt haben, die mit dem privaten Cluster verknüpft sind, müssen sie gelöscht und erneut erstellt werden, wenn Sie einen angehaltenen AKS-Cluster starten.
- Da der Beendigungsprozess alle Knoten leert, werden alle eigenständigen Pods (d. h. Pods, die nicht von einer Bereitstellung verwaltet werden, StatefulSet, DaemonSet, Auftrag usw.) gelöscht.
- Wenn Sie Ihre Cluster-Sicherung starten, wird folgendes Verhalten erwartet:
- Die IP-Adresse Ihres API-Servers kann sich ändern.
- Wenn Sie die automatische Cluster-Skalierung verwenden, liegt Ihre aktuelle Knotenanzahl beim Starten des Clusters möglicherweise nicht zwischen den von Ihnen festgelegten Mindest- und Höchstwerten für den Bereich. Der Cluster beginnt mit der Anzahl von Knoten, die er zum Ausführen seiner Workloads benötigt. Dies hat keine Auswirkungen auf Ihre Einstellungen für automatische Skalierung. Wenn Ihr Cluster Skalierungsvorgänge ausführt, wirken sich die Mindest- und Höchstwerte auf Ihre aktuelle Knotenanzahl aus. Der Cluster wird schließlich in den gewünschten Bereich gelangen und dort verbleiben, bis Sie ihn beenden.
Beenden eines AKS-Clusters
Mit dem Befehl
az aks stop
können Sie einen ausgeführten AKS-Cluster, einschließlich der Knoten und Steuerungsebene, beenden. Im folgenden Beispiel wird ein Cluster mit dem Namen myAKSCluster beendet.az aks stop --name myAKSCluster --resource-group myResourceGroup
Mit dem Befehl
az aks show
können Sie überprüfen, ob Ihr Cluster beendet wurde, und sicherstellen, dass fürpowerState
Stopped
angezeigt wird.az aks show --name myAKSCluster --resource-group myResourceGroup
Ihre Ausgabe sollte der folgenden gekürzten Beispielausgabe entsprechen:
{ [...] "nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_westus2", "powerState":{ "code":"Stopped" }, "privateFqdn": null, "provisioningState": "Succeeded", "resourceGroup": "myResourceGroup", [...] }
Wenn für
provisioningState
Stopping
angezeigt wird, bedeutet das, dass Ihr Cluster noch nicht vollständig beendet wurde.
Wichtig
Wenn Sie Budgets für die Unterbrechung von Pods verwenden, kann der Beendigungsvorgang länger dauern, da der Ausgleichsprozess mehr Zeit in Anspruch nimmt.
AKS-Cluster starten
Achtung
Nach der Nutzung des Start-/Stopp-Features auf AKS ist es wichtig, 15-30 Minuten zu warten, bevor Sie Ihren AKS-Cluster neu starten. Diese Wartezeit ist erforderlich, weil es mehrere Minuten dauert, bis die entsprechenden Dienste vollständig beendet werden. Durch den Versuch, den Cluster während dieses Prozesses neu zu starten, können das Herunterfahren unterbrochen und möglicherweise Probleme mit dem Cluster oder seinen Workloads verursacht werden.
Mit dem Befehl
az aks start
können Sie einen beendeten AKS-Cluster starten. Der Cluster wird mit dem vorherigen Status der Steuerungsebene und der vorherigen Anzahl von Agent-Knoten neu gestartet. Im folgenden Beispiel wird ein Cluster mit dem Namen myAKSCluster gestartet.az aks start --name myAKSCluster --resource-group myResourceGroup
Mit dem Befehl
az aks show
können Sie überprüfen, ob Ihr Cluster gestartet wurde, und sicherstellen, dass fürpowerState
Running
angezeigt wird.az aks show --name myAKSCluster --resource-group myResourceGroup
Ihre Ausgabe sollte der folgenden gekürzten Beispielausgabe entsprechen:
{ [...] "nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_westus2", "powerState":{ "code":"Running" }, "privateFqdn": null, "provisioningState": "Succeeded", "resourceGroup": "myResourceGroup", [...] }
Wenn für
provisioningState
Starting
angezeigt wird, bedeutet das, dass Ihr Cluster noch nicht vollständig gestartet wurde.
Nächste Schritte
- Informationen zum Skalieren von
User
-Pools auf 0 finden Sie unter Skalieren vonUser
-Pools auf 0. - Informationen zum Einsparen von Kosten mithilfe von Spot-Instanzen finden Sie unter Hinzufügen eines Spot-Knotenpools zu AKS.
- Weitere Informationen zu den Unterstützungsrichtlinien für AKS finden Sie unter Unterstützungsrichtlinien für AKS.
Azure Kubernetes Service