Partilhar via


Dimensionar manualmente o número de nós em um cluster do Serviço do Azure Kubernetes (AKS)

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

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

Antes de começar

  • Analise as cotas e limites de serviço do AKS para verificar se o cluster pode ser dimensionado 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.

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

Dimensionar os nós do cluster

Important

Não é suportada a remoção de nós de um pool de nós ao usar o comando kubectl. Isso pode criar problemas de dimensionamento com seu cluster AKS.

  1. Obtenha o nome do pool de nós usando o az aks show comando. O exemplo a seguir obtém o nome do 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. Dimensione os nós do cluster usando o az aks scale comando. O exemplo a seguir dimensiona um cluster chamado myAKSCluster para um único nó. Forneça o seu próprio --nodepool-name a partir do comando anterior, como nodepool1:

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

    O exemplo de saída abaixo mostra que o cluster foi escalado com sucesso para um nó, tal como mostrado na secção agentPoolProfiles:

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

Dimensionar User conjuntos de nós para 0

Ao contrário dos pools de nós System que requerem sempre a execução contínua de nós, os pools de nós User permitem ser dimensionados para 0. Para saber mais sobre as diferenças entre os pools de nós do sistema e do usuário, consulte Pools de nós do sistema e do usuário.

Important

Não é possível dimensionar um pool de nós de usuário com o autoscaler 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 autoscaler de cluster primeiro. Para obter mais informações, consulte Desabilitar o autoscaler de cluster em um pool de nós.

  • Para dimensionar um pool de usuários para 0, você pode usar a escala az aks nodepool em alternativa ao comando acima az aks scale e definir 0 como sua 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 dimensionar User automaticamente os pools de nós para zero nós, definindo o --min-count parâmetro do Autoscaler de cluster como 0.

Próximos passos

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.