Como reescalonar um cluster


Nesta página, você aprende a reescalonar clusters de contêiner. Você pode reescalonar um cluster para aumentar ou diminuir o número de nós nesse cluster. Para saber como adicionar pools de nós e gerenciar seus pools de nós existentes, consulte Como adicionar e gerenciar pools de nós.

Quando você adiciona ou remove nós no cluster, o Google Kubernetes Engine (GKE) adiciona ou remove as instâncias de máquina virtual (VM) associadas do Compute Engine subjacente.Grupos gerenciados de instâncias (MIGs) provisionado para seus pools de nós.

Como aumentar o tamanho do cluster

Ao aumentar o tamanho de um cluster, você tem os resultados abaixo:

  • Novas instâncias de nós são criadas usando a mesma configuração que as instâncias atuais.
  • Novos pods podem ser agendados nas novas instâncias.
  • Pods existentes não são movidos para as novas instâncias.

Quando você aumenta o tamanho de um pool de nós que abrange várias zonas, o tamanho novo representa o número de nodes no pool por zona. Por exemplo, se você tiver um pool de nós de tamanho 2 que abrange duas zonas, a contagem total de nodes será 4. Se você redimensionar o pool de nós para o tamanho 4, a contagem total de nodes se tornará 8.

Como diminuir o tamanho do cluster

Ao diminuir o tamanho de um cluster, você tem os resultados abaixo:

  • Os pods que estão agendados nas instâncias que estão sendo removidas são finalizados.
  • Os pods gerenciados por um controlador de replicação são reprogramados pelo controlador nas instâncias restantes.
  • Os pods não gerenciados por um controlador de replicação não são reiniciados.

O MIG não diferencia entre instâncias que executam pods e instâncias sem pods. A diminuição de tamanho remove instâncias aleatoriamente.

Antes de começar

Antes de começar, verifique se você realizou as tarefas a seguir:

Defina as configurações padrão da gcloud usando um dos métodos a seguir:

  • Use gcloud init se quiser orientações para definir os padrões.
  • Use gcloud config para definir individualmente a região, a zona e o ID do projeto.

Como usar o gcloud init

Se você receber o erro One of [--zone, --region] must be supplied: Please specify location, conclua esta seção.

  1. Execute gcloud init e siga as instruções:

    gcloud init

    Se você estiver usando SSH em um servidor remoto, utilize a sinalização --console-only para impedir que o comando inicie um navegador:

    gcloud init --console-only
  2. Siga as instruções para autorizar a gcloud a usar sua conta do Google Cloud.
  3. Crie uma nova configuração ou selecione uma atual.
  4. Escolha um projeto do Google Cloud.
  5. Escolha uma zona padrão do Compute Engine para clusters zonais ou uma região para clusters regionais ou de Autopilot.

Como usar o gcloud config

  • Defina o ID do projeto padrão:
    gcloud config set project PROJECT_ID
  • Se você estiver trabalhando com clusters zonais, defina a zona do Compute padrão:
    gcloud config set compute/zone COMPUTE_ZONE
  • Se você estiver trabalhando com clusters de Autopilot ou regionais, defina a região do Compute padrão:
    gcloud config set compute/region COMPUTE_REGION
  • Atualize gcloud para a versão mais recente:
    gcloud components update

Redimensionar um cluster

gcloud

Para redimensionar os pools de nós de um cluster, execute o comando gcloud container clusters resize:

gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \
    --num-nodes NUM_NODES

Substitua:

  • CLUSTER_NAME: o nome do cluster a ser redimensionado.
  • POOL_NAME: o nome do pool de nós a ser redimensionado.
  • NUM_NODES: o número de nós no pool em um cluster zonal. Se você usar clusters regionais ou de várias zonas, NUM_NODES será o número de nós para cada zona em que os pools de nós estão.

Repita esse comando para cada pool de nós. Se o cluster tiver apenas um pool de nós, omita a sinalização --node-pool.

Console

Para reescalonar os pools de nós do cluster, siga estas etapas:

  1. Acesse a página do Google Kubernetes Engine no Console do Cloud.

    Acessar o Google Kubernetes Engine

  2. Ao lado do cluster que você quer editar, clique em Ações e em Editar.

  3. Clique na guia Nós ao lado da guia Detalhes.

  4. Na seção Pool de nós, clique no nome do pool de nós que você quer redimensionar.

  5. Clique em Redimensionar.

  6. No campo Número de nós, insira quantos nós você quer no pool de nós e clique em Redimensionar.

  7. Repita para cada pool de nós conforme necessário.

Como diminuir o tamanho do cluster por esvaziamento

É possível diminuir o tamanho do cluster manualmente e esvaziar os pods de cada instância antes de serem removidos.

Para saber como adicionar pools de nós e gerenciar os existentes, consulte Como adicionar e gerenciar pools de nós.

Para diminuir e esvaziar o cluster, execute o comando gcloud container clusters resize:

gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \
  --num-nodes NUM_NODES

Substitua:

  • CLUSTER_NAME: o nome do cluster a ser redimensionado.
  • POOL_NAME: o nome do pool de nós a ser redimensionado.
  • NUM_NODES: o número de nós no pool em um cluster zonal. Se você usar clusters regionais ou de várias zonas, NUM_NODES será o número de nós para cada zona em que os pools de nós estão.

Como fazer o escalonamento automático de um cluster

O recurso autoescalador de cluster do GKE faz o escalonamento automático dos pools de nós em resposta a condições variáveis, como alterações nas cargas de trabalho e no uso de recursos.

Para saber mais sobre como funciona o escalonamento automático, consulte a documentação do autoescalador de cluster. Para configurar o escalonamento automático do cluster, consulte Como fazer o escalonamento automático de um cluster.

Próximas etapas