Como administrador da plataforma, configure uma estratégia de upgrade de nós para ajustar como o GKE faz upgrade dos nós nos clusters do Google Kubernetes Engine (GKE). Para saber mais sobre as estratégias de upgrade de nós, consulte Estratégias de upgrade de nós.
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
.
Configurar uma estratégia de upgrade de nó
Ao configurar os pools de nós do cluster, é possível selecionar e configurar uma das estratégias de upgrade de nós compatíveis, súbitos ou blue-green. Essas estratégias de upgrade permitem otimizar o processo de upgrade do pool de nós com base nas necessidades do ambiente do cluster.
Configurar upgrades súbitos
Upgrades súbitos permitem alterar o número de upgrades de nós do GKE de uma só vez e a quantidade de interrupções que um upgrade faz nas suas cargas de trabalho.
As
sinalizações max-surge-upgrade
e max-unavailable-upgrade
são definidas para
cada pool de nós. Para mais informações sobre como escolher os parâmetros certos, acesse
Otimizar a configuração do upgrade súbito.
É possível alterar essas configurações ao criar ou atualizar um cluster ou pool de nós.
As seguintes variáveis são usadas nos comandos mencionados abaixo:
CLUSTER_NAME
: o nome do cluster do pool de nós.COMPUTE_ZONE
: a zona do cluster.NODE_POOL_NAME
: o nome do pool de nós.NUMBER_NODES
: o número de nós no pool em cada uma das zonas do cluster.SURGE_NODES
: o número de nós extras (de sobrecarga) a serem criados em cada upgrade do pool de nós.UNAVAILABLE_NODES
: o número de nós que podem estar indisponíveis ao mesmo tempo, em cada upgrade do pool de nós.
Como criar um cluster com parâmetros súbitos específicos
Para criar um cluster com configurações específicas para upgrades súbitos, use as
sinalizações max-surge-upgrade
e max-unavailable-upgrade
.
gcloud container clusters create CLUSTER_NAME \ --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES
Como criar um cluster com upgrade súbito desativado
Para criar um cluster sem upgrades súbitos, defina o valor da sinalização max-surge-upgrade
como 0
.
gcloud container clusters create CLUSTER_NAME \ --max-surge-upgrade=0 --max-unavailable-upgrade=1
Como criar um pool de nós com parâmetros súbitos específicos
Para criar um pool de nós em um cluster atual com configurações específicas para
upgrades súbitos, use as sinalizações max-surge-upgrade
e
max-unavailable-upgrade
.
gcloud container node-pools create NODE_POOL_NAME \ --num-nodes=NUMBER_NODES --cluster=CLUSTER_NAME \ --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES
Alterar as configurações de upgrade súbito de um pool de nós atual
Para atualizar as configurações de upgrade de um pool de nós atual, use as
sinalizações max-surge-upgrade
e max-unavailable-upgrade
. Se você definir max-surge-upgrade
como maior que
0
, o GKE criará nós de sobretensão. Se você definir max-surge-upgrade
como 0
, o GKE não criará nós de sobretensão.
gcloud container node-pools update NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES
Como verificar se os upgrades súbitos são ativados em um pool de nós
Para ver se os upgrades súbitos estão ativados em um pool de nós, use o gcloud
para descrever
os parâmetros do cluster:
gcloud container node-pools describe NODE_POOL_NAME \ --cluster=CLUSTER_NAME
Se os upgrades de sobretensão estiverem ativados no pool de nós, a estratégia listada será SURGE
.
Configurar upgrades azul-verde
Com upgrades de pool de nós azul-verde, você pode controlar:
BATCH_NODE_COUNT
ouBATCH_PERCENT
: o tamanho dos lotes de nós que o GKE descarrega por vez. Isso significa que os pods são removidos dos nós. O padrão éBATCH_NODE_COUNT=1
. Se uma dessas configurações for definida como 0, o GKE pulará essa fase e passará para a fase do pool de nós de Soak.BATCH_SOAK_DURATION
: o tempo entre cada lote de nós sendo drenado.NODE_POOL_SOAK_DURATION
: a quantidade de tempo de imersão para validar sua carga de trabalho na nova configuração de nó.
Para saber mais sobre como funcionam as fases de upgrades azul-verde, consulte Fases de upgrades azul-verde.
As variáveis abaixo são usadas nos comandos listados nas próximas seções:
CLUSTER_NAME
: o nome do cluster do pool de nós.NODE_POOL_NAME
: o nome do pool de nós.NUMBER_NODES
: o número de nós no pool em cada uma das zonas do cluster.BATCH_NODE_COUNT
: o número de nós azuis a serem drenados em um lote durante a fase de drenagem do pool azul. O padrão é 1. Se for definido como zero, a fase de drenagem do pool azul será ignorada.BATCH_PERCENT
: a porcentagem de nós azuis a serem drenados em um lote durante a fase de drenagem do pool azul, expressa como um número decimal entre 0 e 1, inclusive. O GKE arredondará para baixo para o nó mais próximo, para um valor mínimo de um nó, se a porcentagem não for um número inteiro de nós. Se for definido como zero, a fase de drenagem do pool azul será ignorada.BATCH_SOAK_DURATION
: a duração, em segundos, de espera após cada drenagem em lote. O padrão é 0.NODE_POOL_SOAK_DURATION
: a duração em segundos a ser esperada após a conclusão da drenagem de todos os lotes. O padrão é 3600 segundos.
Como criar um pool de nós com a estratégia de upgrade azul-verde
Criar um pool de nós com os parâmetros padrão de upgrade azul-verde
Para criar um pool de nós em um cluster atual com a estratégia de upgrade azul-verde com os parâmetros padrão, use o seguinte comando:
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade
Criar um pool de nós com upgrade azul-verde usando tamanhos de lote de contagem de nós absolutos
Para criar um pool de nós com configurações personalizadas de upgrade azul-verde, use as sinalizações de parâmetro com o comando de criação do pool de nós.
Esse comando cria um pool de nós com a seguinte configuração personalizada azul-verde, usando uma contagem absoluta de nós para as drenagens em lote:
BATCH_NODE_COUNT
= 2BATCH_SOAK_DURATION
= 10sNODE_POOL_SOAK_DURATION
= 600s
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
--node-pool-soak-duration=600s
Criar um pool de nós com upgrade azul-verde usando tamanhos de lote baseados em porcentagem
Esse comando cria um pool de nós com a seguinte configuração personalizada azul-verde, usando uma porcentagem para as drenagens em lote:
BATCH_PERCENTAGE
= 25% (do tamanho do pool de nós)BATCH_SOAK_DURATION
= 10sNODE_POOL_SOAK_DURATION
= 1800s
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
--node-pool-soak-duration=1800s
Atualizando uma estratégia de upgrade azul-verde do pool de nós atual
Atualizar um pool de nós com os parâmetros padrão de upgrade azul-verde
Para atualizar um pool de nós atual para a estratégia de upgrade azul-verde, use o seguinte comando:
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade
Atualizar um pool de nós com upgrade azul-verde usando tamanhos de lote de contagem de nós absolutos
Para atualizar um pool de nós atual para a estratégia de upgrade azul-verde com configurações personalizadas, use as sinalizações de parâmetro com o comando de criação do pool de nós.
Esse comando atualiza um pool de nós para usar a seguinte configuração azul-verde personalizada, usando uma contagem absoluta de nós para as drenagens em lote:
BATCH_NODE_COUNT
= 2BATCH_SOAK_DURATION
= 10sNODE_POOL_SOAK_DURATION
= 600s
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
--node-pool-soak-duration=600s
Atualizar um pool de nós com upgrade azul-verde usando tamanhos de lote baseados em porcentagem
Esse comando cria um pool de nós com a seguinte configuração personalizada azul-verde, usando uma porcentagem para as drenagens em lote:
BATCH_PERCENTAGE
= 25% (do tamanho do pool de nós)BATCH_SOAK_DURATION
= 10sNODE_POOL_SOAK_DURATION
= 1800s
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
--node-pool-soak-duration=1800s
Como voltar a usar os upgrades súbitos
É possível alterar o comportamento dos upgrades azul-verde com as configurações, e controlar o processo de upgrade com comandos.
No entanto, se você quiser usar upgrades de sobretensão, execute o seguinte comando para voltar a eles:
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-surge-upgrade
Inspecionar as configurações de upgrade de um pool de nós
Para inspecionar as configurações de upgrade atuais de um pool de nós, use o seguinte comando para descrever esse pool:
gcloud container node-pools describe NODE_POOL_NAME \
--cluster=CLUSTER_NAME
O snippet a seguir é um exemplo de saída do comando. O campo strategy
indica a estratégia de upgrade em uso: SURGE indica que a estratégia de upgrade
de sobretensão está ativada, e BLUE_GREEN indica que o a estratégia de upgrade verde esteja ativada.
upgradeSettings:
blueGreenSettings:
nodePoolSoakDuration: 1800s
standardRolloutPolicy:
batchNodeCount: 1
batchSoakDuration: 10s
strategy: BLUE_GREEN
Esse comando também mostra a fase atual de um upgrade azul-verde em andamento. Saiba mais sobre como verificar as configurações de upgrade de um pool de nós.
A seguir
- Saiba mais sobre as estratégias de upgrade de nós.
- Saiba como fazer upgrade manual dos seus pools de nós.