Compartilhar via


Escalar manualmente a contagem de nós em um cluster do AKS (Serviço de Kubernetes do Azure)

Se as necessidades de recursos dos aplicativos alterarem, o desempenho do cluster poderá ser afetado devido à baixa capacidade de CPU, memória, espaço de PID ou tamanhos de disco. Para resolver essas alterações, você poderá dimensionar manualmente o cluster AKS para executar um número diferente de nós. Ao reduzir, os nós são cuidadosamente isolados e drenados para minimizar a interrupção aos aplicativos em execução. Ao escalar verticalmente, o AKS aguarda até que os nós sejam marcados como Prontos pelo cluster do Kubernetes antes de os pods serem agendados neles.

Este artigo descreve como aumentar ou diminuir manualmente o número de nós em um cluster do AKS.

Antes de começar

  • Examine as cotas e os limites de serviço do AKS para verificar se o cluster pode escalonado para o número desejado de nós.

  • O nome de um pool de nós pode conter apenas caracteres alfanuméricos minúsculos e deve começar com uma letra minúscula.

    • Nos pools de nós do Linux, o comprimento deve estar entre 1 e 11 caracteres.
    • Para pools de nós do Windows, o comprimento deve ter entre 1 e 6 caracteres.

Escalar os nós de cluster

Importante

Não há suporte para a remoção de nós de um pool de nós usando o comando kubectl. Isso pode criar problemas de colocação em escala com o cluster do AKS.

  1. Obtenha o nome do seu pool de nó usando o comando az aks show. O exemplo a seguir obtém o nome de pool de nós para o cluster chamado myAKSCluster no grupo de recursos myResourceGroup:

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

    A saída de exemplo a seguir mostra que o nome é nodepool1:

    [
      {
        "count": 1,
        "maxPods": 110,
        "name": "nodepool1",
        "osDiskSizeGb": 30,
        "osType": "Linux",
        "vmSize": "Standard_DS2_v2"
      }
    ]
    
  2. Escale os nós de cluster usando o comando az aks scale. O exemplo a seguir escala um cluster chamado myAKSCluster para um único nó. Forneça seu próprio --nodepool-name do comando anterior, como nodepool1:

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

    A saída de exemplo a seguir mostra que o cluster foi escalonado com êxito para um nó, conforme mostrado na seção agentPoolProfiles:

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

Dimensione os pools de nós User para 0

Diferentemente dos pools de nós System que sempre exigem nós em execução, os pools de nós User permitem que você dimensione para 0. Para saber mais sobre as diferenças entre pools de nós do usuário e do sistema, confira Pools de nós do usuário e do sistema.

Importante

Você não pode dimensionar um pool de nós de usuário com o dimensionador automático de cluster habilitado para 0 nós. Para dimensionar um pool de nós de usuário para 0 nós, você deve desabilitar o dimensionador automático do cluster primeiro. Para obter mais informações, confira Desabilitar o dimensionador automático de cluster em um pool de nós.

  • Para escalonar um pool de usuários para 0, use az aks nodepool scale como alternativa ao comando az aks scale acima, e defina 0 como a contagem de nós.

    az aks nodepool scale --name <your node pool name> --cluster-name myAKSCluster --resource-group myResourceGroup  --node-count 0 
    
  • Você também pode escalonar automaticamente os pools de nós User para zero nós. Para isso, defina o parâmetro --min-count do Dimensionador automático de cluster como 0.

Próximas etapas

Neste artigo, você dimensionou manualmente um cluster AKS para aumentar ou diminuir o número de nós. Você também pode usar o dimensionador automático de cluster para dimensionar automaticamente o cluster.