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.

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.

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 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

Como reescalonar um cluster

gcloud

Para reescalonar os pools de nós de um cluster, execute o seguinte comando:

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 este comando para cada pool de nós. Se o cluster tiver apenas um pool de nós, omita a sinalização --node-pool.

Para mais informações, consulte a documentação gcloud container clusters resize.

Console

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

  1. Acesse o menu do Google Kubernetes Engine no Console do Cloud.

    Acesse o menu do Google Kubernetes Engine

  2. Clique no link do cluster que você quer editar.

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

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

  5. Clique no botão 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.

  8. Clique em Salvar para sair da tela de modificação do cluster.

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 grupo de instâncias gerenciadas não diferencia entre instâncias que usam pods e instâncias sem pods. A diminuição de tamanho remove instâncias aleatoriamente.

Como diminuir o tamanho do cluster com esvaziamento

É possível diminuir o tamanho do cluster manualmente e esvaziar os pods da instância antes da remoção deles.

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 a seguir:

gcloud container clusters resize cluster-name --node-pool pool-name \
  --num-nodes num-nodes

Substitua:

  • cluster-name: o nome do cluster.
  • pool-name: o nome do pool de nós.
  • 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.

Para uma descrição das opções da linha de comando, consulte Como redimensionar um cluster.

Como fazer o escalonamento automático de um cluster

O recurso escalonador automático 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 escalonador automático de cluster. Para configurar o escalonamento automático do cluster, consulte Como fazer o escalonamento automático de um cluster.

A seguir