Dela via


Stoppa och starta ett AKS-kluster (Azure Kubernetes Service)

Du kanske inte behöver köra dina arbetsbelastningar i Azure Kubernetes Service (AKS) kontinuerligt. Du kan till exempel ha ett utvecklingskluster som du bara använder under kontorstid. Det innebär att det finns tillfällen då klustret kan vara inaktivt och inte kör något annat än systemkomponenterna. Du kan minska klustrets fotavtryck genom att skala alla User nodpooler till 0, men poolen System måste fortfarande köra systemkomponenterna medan klustret körs.

Om du vill optimera dina kostnader bättre under dessa perioder kan du inaktivera eller stoppa klustret. Den här åtgärden stoppar kontrollplanet och agentnoderna så att du kan spara på alla beräkningskostnader, samtidigt som alla objekt utom fristående poddar bibehålls. Klustertillståndet lagras för när du startar det igen, så att du kan fortsätta där du slutade.

Varning

Om du stoppar klustret frigörs kontrollplanet och kapaciteten frigörs. I regioner som har kapacitetsbegränsningar kan det hända att kunderna inte kan starta ett stoppat kluster. Vi rekommenderar inte att du stoppar verksamhetskritiska arbetsbelastningar av den anledningen.

Kommentar

AKS-startåtgärder återställer alla objekt från ETCD med undantag för fristående poddar med samma namn och åldrar. vilket innebär att en podds ålder fortsätter att beräknas från den ursprungliga skapandetiden. Antalet fortsätter att öka med tiden, oavsett om klustret är i ett stoppat tillstånd.

Innan du börjar

Den här artikeln förutsätter att du har ett befintligt AKS-kluster. Om du behöver ett AKS-kluster kan du skapa ett med hjälp av Azure CLI, Azure PowerShell eller Azure Portal.

Om funktionen för att stoppa/starta klustret

När du använder funktionen för klusterstopp/start gäller följande villkor:

  • Den här funktionen stöds endast för vm-skalningsuppsättningsbackade kluster.
  • Du kan inte stoppa kluster som använder nap-funktionen (Node Autoprovisioning).
  • Klustertillståndet för ett stoppat AKS-kluster bevaras i upp till 12 månader. Om klustret har stoppats i mer än 12 månader kan du inte återställa tillståndet. Mer information finns i AKS-supportprinciperna.
  • Du kan bara utföra start- eller borttagningsåtgärder i ett stoppat AKS-kluster. Om du vill utföra andra åtgärder, till exempel skalning eller uppgradering, måste du starta klustret först.
  • Om du har etablerat PrivateEndpoints som är länkade till privata kluster måste de tas bort och återskapas igen när du startar ett stoppat AKS-kluster.
  • Eftersom stoppprocessen tömmer alla noder tas alla fristående poddar (dvs. poddar som inte hanteras av en distribution, StatefulSet, DaemonSet, Jobb osv.) bort.
  • När du startar säkerhetskopieringen av klustret förväntas följande beteende:
    • IP-adressen för din API-server kan ändras.
    • Om du använder autoskalning av kluster kan det hända att det aktuella antalet noder inte ligger mellan de minsta och högsta intervallvärden som du anger när du startar klustret. Klustret börjar med det antal noder som behövs för att köra dess arbetsbelastningar, vilket inte påverkas av autoskalningsinställningarna. När klustret utför skalningsåtgärder påverkar minimi- och maximivärdena ditt aktuella antal noder, och ditt kluster kommer så småningom att hamna i och ligga kvar inom det önskade intervallet tills du stoppar klustret.

Stoppa ett AKS-kluster

  1. az aks stop Använd kommandot för att stoppa ett AKS-kluster som körs, inklusive noderna och kontrollplanet. I följande exempel stoppas ett kluster med namnet myAKSCluster:

    az aks stop --name myAKSCluster --resource-group myResourceGroup
    
  2. Kontrollera att klustret har slutat använda az aks show kommandot och bekräfta att visas powerState som Stopped.

    az aks show --name myAKSCluster --resource-group myResourceGroup
    

    Dina utdata bör se ut ungefär som följande komprimerade exempelutdata:

    {
    [...]
      "nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_westus2",
      "powerState":{
        "code":"Stopped"
      },
      "privateFqdn": null,
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroup",
    [...]
    }
    

    Om visar provisioningState Stoppinghar klustret inte helt stoppats ännu.

Viktigt!

Om du använder Pod Disruption-budgetar kan stoppåtgärden ta längre tid eftersom tömningsprocessen tar längre tid att slutföra.

Starta ett AKS-kluster

Varning

När du har använt start-/stoppfunktionen i AKS är det viktigt att vänta 15–30 minuter innan du startar om AKS-klustret. Den här väntetiden är nödvändig eftersom det tar flera minuter för de relevanta tjänsterna att stoppas helt. Försök att starta om klustret under den här processen kan störa avstängningsprocessen och potentiellt orsaka problem med klustret eller dess arbetsbelastningar.

  1. az aks start Använd kommandot för att starta ett stoppat AKS-kluster. Klustret startas om med det tidigare kontrollplanets tillstånd och antalet agentnoder. I följande exempel startas ett kluster med namnet myAKSCluster:

    az aks start --name myAKSCluster --resource-group myResourceGroup
    
  2. Kontrollera att klustret har börjat använda az aks show kommandot och bekräfta att visar RunningpowerState .

    az aks show --name myAKSCluster --resource-group myResourceGroup
    

    Dina utdata bör se ut ungefär som följande komprimerade exempelutdata:

    {
    [...]
      "nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_westus2",
      "powerState":{
        "code":"Running"
     },
     "privateFqdn": null,
     "provisioningState": "Succeeded",
     "resourceGroup": "myResourceGroup",
    [...]
    }
    

    Om visar provisioningState Startinghar klustret inte startats helt än.

Nästa steg