Skala antalet noder manuellt i ett AKS-kluster (Azure Kubernetes Service)

Om resursbehoven för dina program ändras kan klustrets prestanda påverkas på grund av låg kapacitet på processor,minne, PID-utrymme eller diskstorlekar. För att åtgärda dessa ändringar kan du skala AKS-klustret manuellt för att köra ett annat antal noder. När du skalar ned är noderna noggrant avspärrade och tömda för att minimera störningar i program som körs. När du skalar upp väntar AKS tills noderna har markerats som Klara av Kubernetes-klustret innan poddar schemaläggs på dem.

Den här artikeln beskriver hur du manuellt ökar eller minskar antalet noder i ett AKS-kluster.

Innan du börjar

  • Granska AKS-tjänstens kvoter och gränser för att kontrollera att klustret kan skalas till önskat antal noder.

  • Namnet på en nodpool får bara innehålla alfanumeriska gemener och måste börja med en gemen bokstav.

    • För Linux-nodpooler måste längden vara mellan 1 och 11 tecken.
    • För Windows-nodpooler måste längden vara mellan 1 och 6 tecken.

Skala klusternoderna

Viktigt!

Det går inte att ta bort noder från en nodpool med kommandot kubectl. Det kan skapa skalningsproblem med ditt AKS-kluster.

  1. Hämta namnetnodpoolen az aks show med kommandot . I följande exempel hämtas namnet på nodpoolen för klustret med namnet myAKSCluster i resursgruppen myResourceGroup :

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

    Följande exempelutdata visar att namnet är nodepool1:

    [
      {
        "count": 1,
        "maxPods": 110,
        "name": "nodepool1",
        "osDiskSizeGb": 30,
        "osType": "Linux",
        "vmSize": "Standard_DS2_v2"
      }
    ]
    
  2. Skala klusternoderna med kommandot az aks scale . I följande exempel skalas ett kluster med namnet myAKSCluster till en enda nod. Ange din egen --nodepool-name från föregående kommando, till exempel nodepool1:

    az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 1 --nodepool-name <your node pool name>
    

    Följande exempelutdata visar att klustret har skalats till en nod, vilket visas i avsnittet agentPoolProfiles :

    {
      "aadProfile": null,
      "addonProfiles": null,
      "agentPoolProfiles": [
        {
          "count": 1,
          "maxPods": 110,
          "name": "nodepool1",
          "osDiskSizeGb": 30,
          "osType": "Linux",
          "vmSize": "Standard_DS2_v2",
          "vnetSubnetId": null
        }
      ],
      [...]
    }
    

Skala User nodpooler till 0

Till skillnad från System nodpooler som alltid kräver noder som körs kan User du med nodpooler skala till 0. Mer information om skillnaderna mellan system- och användarnodpooler finns i System- och användarnodpooler.

  • Om du vill skala en användarpool till 0 kan du använda az aks nodepool-skalan i alternativ till kommandot ovan az aks scale och ange 0 som antalet noder.

    az aks nodepool scale --name <your node pool name> --cluster-name myAKSCluster --resource-group myResourceGroup  --node-count 0 
    
  • Du kan också autoskala User nodpooler till noll noder genom att ange parametern --min-count för autoskalning av kluster till 0.

Nästa steg

I den här artikeln skalade du ett AKS-kluster manuellt för att öka eller minska antalet noder. Du kan också använda autoskalning av klustret för att automatiskt skala klustret.