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

  1. 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
    
  2. Mit dem Befehl az aks show können Sie überprüfen, ob Ihr Cluster beendet wurde, und sicherstellen, dass für powerStateStopped 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 provisioningStateStopping 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.

  1. 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
    
  2. Mit dem Befehl az aks show können Sie überprüfen, ob Ihr Cluster gestartet wurde, und sicherstellen, dass für powerStateRunning 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 provisioningStateStarting angezeigt wird, bedeutet das, dass Ihr Cluster noch nicht vollständig gestartet wurde.

Nächste Schritte