Nesta página, explicamos como redimensionar clusters do Google Kubernetes Engine (GKE) Standard. É possível redimensionar um cluster para aumentar ou diminuir o número de nós desse cluster. Como alternativa, é possível fazer o escalonamento automático do cluster em que o GKE redimensiona automaticamente os pools de nós em resposta a condições variáveis, como alterações nas cargas de trabalho e uso de recursos.
Essas instruções não se aplicam aos clusters do Autopilot do GKE, que são redimensionados automaticamente com base no número de pods do cluster.
Quando você adiciona ou remove nós do cluster, o GKE adiciona ou remove
as instâncias de máquina virtual (VM) associadas dos grupos gerenciados de instâncias (MIGs) subjacentes do Compute Engine,
provisionados para os pools de nós. Para remover nós, não use kubectl delete node
, porque isso não exclui a instância de VM do Compute Engine no MIG subjacente do pool de nós. Use o escalonador automático de cluster ou diminua o tamanho do
cluster manualmente.
Antes de começar
Antes de começar, verifique se você realizou as tarefas a seguir:
- Ativar a API Google Kubernetes Engine. Ativar a API Google Kubernetes Engine
- Se você quiser usar a Google Cloud CLI para essa tarefa,
instale e, em seguida,
inicialize a
CLI gcloud. Se você instalou a CLI gcloud anteriormente, instale a versão
mais recente executando
gcloud components update
.
Aumentar o tamanho do cluster
Quando você aumenta o tamanho de um cluster, ocorrem as seguintes alterações:
- Novas instâncias de nós são criadas com a mesma configuração que as atuais.
- Novos pods podem ser agendados nas novas instâncias.
Os pods atuais não são movidos para as novas instâncias.
gcloud
Para aumentar o tamanho dos 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 aumentar o tamanho dos pools de nós de um cluster, siga as seguintes etapas:
Acesse a página Google Kubernetes Engine no console do Google Cloud.
Ao lado do cluster que você quer editar, clique em more_vert Ações e, depois, em Editar.
Clique na guia Nós ao lado da guia Detalhes.
Na seção Pools de nós, clique no nome do pool que terá o tamanho aumentado.
Clique em edit Redimensionar.
No campo Número de nós, insira quantos nós você quer no pool de nós e clique em Redimensionar.
Repita essa etapa para cada pool de nós conforme necessário.
Reduzir o tamanho do cluster
Quando você diminui o tamanho de um cluster, ocorrem as seguintes alterações:
- O GKE encerra normalmente os nós que estão sendo excluídos, usando
o processo de drenagem
para remover os pods da instância.
PodDisruptionBudget
eterminationGracePeriodSeconds
são respeitados por até uma hora. - Os pods gerenciados por um controlador de replicação são reprogramados por ele para serem executados 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.
Para saber como adicionar pools de nós e gerenciar os existentes, consulte Como adicionar e gerenciar pools de nós.
gcloud
Para diminuir o tamanho dos 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 diminuir o tamanho dos pools de nós de um cluster, siga as seguintes etapas:
Acesse a página Google Kubernetes Engine no console do Google Cloud.
Ao lado do cluster que você quer editar, clique em more_vert Ações e, depois, em Editar.
Clique na guia Nós ao lado da guia Detalhes.
Na seção Pools de nós, clique no nome do pool que terá o tamanho diminuído.
Clique em edit Redimensionar.
No campo Número de nós, insira quantos nós você quer no pool de nós e clique em Redimensionar.
Repita essa etapa para cada pool de nós conforme necessário.
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.