Sdílet prostřednictvím


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é clusterem Kubernetes připravené , než se na nich naplánují 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 fondů uzlů Linuxu musí být délka mezi 1 až 11 znaky.
    • U fondů uzlů Windows musí mít délku 1 až 6 znaků.

Škálování uzlů clusteru

Důležité

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

  1. Pomocí příkazu získejte název fondu az aks show uzlů. Následující příklad získá 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í z --nodepool-name 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é

Fond uzlů uživatele s povoleným automatickým škálováním clusteru nemůžete škálovat na 0 uzlů. Pokud chcete škálovat fond uzlů uživatele na 0 uzlů, musíte nejprve 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 možnost az aks nodepool scale in alternative to the above az aks scale command, and set 0 as your node count.

    az aks nodepool scale --name <your node pool name> --cluster-name myAKSCluster --resource-group myResourceGroup  --node-count 0 
    
  • Fondy uzlů můžete také automaticky škálovat User na nula uzlů nastavením --min-count parametru automatického škálování clusteru na 0hodnotu .

Další kroky

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