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 atuais não são movidos para as novas instâncias.

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, veja se você realizou as seguintes tarefas:

  • Veja se você ativou a API do Google Kubernetes Engine.
  • Ativar a API Google Kubernetes Engine
  • Confirme se você instalou a Google Cloud CLI.
  • Defina as configurações padrão da Google Cloud CLI para o projeto usando um dos seguintes métodos:
    • Use gcloud init se quiser orientações para definir os padrões do projeto.
    • Use gcloud config para definir individualmente a região, a zona e o ID do projeto.

    gcloud init

    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 CLI gcloud a usar a 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.
    6. Escolha uma região padrão do Compute Engine.
    .

    gcloud config

    1. Defina o ID do projeto padrão:
      gcloud config set project PROJECT_ID
    2. Defina a região padrão do Compute Engine (por exemplo, us-central1):
      gcloud config set compute/region COMPUTE_REGION
    3. Defina a zona padrão do Compute Engine (por exemplo, us-central1-c):
      gcloud config set compute/zone COMPUTE_ZONE
    4. Atualize gcloud para a versão mais recente:
      gcloud components update
    .

    Ao definir locais padrão, é possível evitar erros na gcloud CLI, como: One of [--zone, --region] must be supplied: Please specify location.

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 usar clusters regionais ou de várias zonas, NUM_NODES será o número de nós para cada zona onde 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, depois, 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 usar clusters regionais ou de várias zonas, NUM_NODES será o número de nós para cada zona onde 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