Ruční škálování počtu uzlů v clusteru Azure Kubernetes Service (AKS)

Pokud se požadavky na prostředky vašich aplikací změní, může to mít vliv na výkon clusteru kvůli nízké kapacitě procesoru, paměti, místa piD nebo velikosti disků. Pokud chcete tyto změny vyřešit, můžete cluster AKS škálovat ručně, aby se spustil jiný počet uzlů. Při horizontálním snížení kapacity se uzly pečlivě připojí a vyprázdní , aby se minimalizovalo přerušení spuštěných aplikací. Při horizontálním navýšení kapacity AKS čeká, dokud uzly nejsou označené Kubernetes clusterem jako připravené, než na nich budou naplánovány pody.

Tento článek popisuje, jak ručně zvýšit nebo snížit počet uzlů v clusteru AKS.

Než začnete

  • Zkontrolujte kvóty a omezení služby AKS a ověřte, že váš cluster může škálovat na požadovaný počet uzlů.

  • Název fondu uzlů může obsahovat pouze malé alfanumerické znaky a musí začínat malými písmeny.

    • U uzlových skupin Linuxu musí být délka od 1 do 11 znaků.
    • Délka pro fondy uzlů Windows musí být mezi 1 až 6 znaky.

Škálování uzlů clusteru

Důležité

Odebrání uzlů z fondu uzlů pomocí kubectl příkazu se nepodporuje. Můžete tak vytvořit problémy se škálováním clusteru AKS.

  1. Získejte název svého fondu uzlů pomocí az aks show příkazu. Následující příklad ukazuje, jak získat název fondu uzlů pro cluster s názvem myAKSCluster ve skupině prostředků myResourceGroup:

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

    Následující příklad výstupu ukazuje, že název je nodepool1:

    [
      {
        "count": 1,
        "maxPods": 110,
        "name": "nodepool1",
        "osDiskSizeGb": 30,
        "osType": "Linux",
        "vmSize": "Standard_DS2_v2"
      }
    ]
    
  2. Škálujte uzly clusteru az aks scale pomocí příkazu. Následující příklad škáluje cluster s názvem myAKSCluster na jeden uzel. Zadejte vlastní --nodepool-name z předchozího příkazu, například nodepool1:

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

    Následující příklad výstupu ukazuje úspěšné škálování clusteru na jeden uzel, jak je znázorněno v části agentPoolProfiles :

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

Škálování User fondů uzlů na 0

Na rozdíl od System fondů uzlů, které vždy vyžadují spuštěné uzly, User umožňují fondy uzlů škálovat na 0. Další informace o rozdílech mezi fondy systémových a uživatelských uzlů najdete v tématu Fondy systémových a uživatelských uzlů.

Důležité

Pokud chcete vynutit User fondu uzlů, aby se škáloval na 0 uzlů, je nutné zakázat automatické škálování clusteru. Další informace najdete v tématu Zakázání automatického škálování clusteru ve fondu uzlů.

  • Pokud chcete škálovat fond uživatelů na 0, můžete použít příkaz az aks nodepool scale jako alternativu k výše uvedenému az aks scale příkazu a nastavit 0 jako počet uzlů.

    az aks nodepool scale --name <your node pool name> --cluster-name myAKSCluster --resource-group myResourceGroup  --node-count 0
    
  • Můžete povolit, ale ne vynutit, aby automatické škálování fondu uzlů dosáhlo nula uzlů nastavením parametru Cluster Autoscaler na .

Další kroky

V tomto článku jste ručně škálovali cluster AKS, abyste zvýšili nebo snížili počet uzlů. Také můžete použít automatické škálování clusteru ke škálování vaší skupiny.