Neste documento, descrevemos como ativar e gerenciar atualizações súbitas de pools de nós. Para informações sobre como funcionam as atualizações de sobretensão de pools de nós, consulte Sobre atualizações de sobretensão.
O que considerar antes de executar atualizações de sobretensão
Antes de executar uma atualização súbita, considere o seguinte:
- As instâncias extras criadas como parte dessa etapa do Surge podem exceder o limite de cota da instância da AWS. Se você não tiver cota suficiente e essas outras instâncias não puderem ser provisionadas, a atualização poderá falhar.
- Se
max-unavailable-update
for definido como 0, ainda poderão ocorrer interrupções nas cargas de trabalho conforme os pods forem removidos e reprogramados nos nós mais recentes. - O número máximo de nós que podem ser atualizados ao mesmo tempo é igual à
soma de
max-surge-update
emax-unavailable-update
e está limitado a 20.
Ativar e configurar atualizações súbitas
Para ativar as atualizações de sobretensão, entre em contato com o
Google Cloud suporte. Depois que a equipe de suporte
ativar o recurso, será possível atribuir valores aos parâmetros max-surge-update
e max-unavailable-update
ao criar ou atualizar o pool de nós:
Criar
gcloud container aws node-pools create NODE_POOL_NAME
--cluster CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
--max-surge-update MAX_SURGE \
--max-unavailable-update MAX_UNAVAILABLE
Atualizar
gcloud container aws node-pools update NODE_POOL_NAME
--cluster CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
--max-surge-update MAX_SURGE \
--max-unavailable-update MAX_UNAVAILABLE
Substitua:
NODE_POOL_NAME
: o nome do pool de nós a ser atualizado;CLUSTER_NAME
: o nome do cluster.GOOGLE_CLOUD_LOCATION
: a região Google Cloud compatível que gerencia o cluster. Por exemplo,us-west1
.MAX_SURGE
: o número máximo de nós que podem ser criados temporariamente além do tamanho atual do pool de nós durante uma atualização. Ao ajustar esse valor, é possível controlar quantos nós são atualizados simultaneamente. A configuração padrão é 1, mas você pode defini-la como 0. Se você definirmax-surge-update
como um valor maior que 0, o GKE na AWS criará nós de sobretensão. Definir como 0 impede a criação deles.MAX_UNAVAILABLE
: o número máximo de nós que podem ficar indisponíveis simultaneamente durante o processo de atualização. Ao aumentar esse valor, mais nós poderão ser atualizados simultaneamente. O valor padrão é 0, mas pode ser ajustado para cima.
Verificar as configurações de atualização súbita em um pool de nós
Para ver as configurações de atualização súbita de um pool de nós, execute o seguinte comando:
gcloud alpha container aws node-pools describe NODE_POOL_NAME
--cluster CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
Substitua:
NODE_POOL_NAME
: o nome do pool de nós.CLUSTER_NAME
: o nome do cluster.GOOGLE_CLOUD_LOCATION
: a região Google Cloud compatível que gerencia o cluster. Por exemplo,us-west1
.
Se o pool de nós tiver atualizações de sobretensão ativadas, a saída desse comando
exibirá uma seção chamada surge_settings
. A seção surge_settings
exibe os valores dos parâmetros max_surge
e max_unavailable
.
Gerenciar atualizações súbitas em andamento
É possível cancelar uma atualização de sobrecarga em andamento, reverter uma atualização de sobrecarga que falhou ou retomar uma atualização que foi interrompida.
Cancelar (pausar) e retomar uma atualização súbita
No GKE na AWS, "cancelar" uma atualização súbita significa pausá-la. Para mais detalhes sobre como cancelar uma atualização, consulte Cancelar uma operação de atualização.
Em outras palavras, o cancelamento de uma atualização súbita não reverte a atualização. Em vez disso, ele pode deixar o pool de nós em um estado parcialmente atualizado com dois grupos de escalonamento automático: um com nós executando a configuração anterior e outro com nós executando a nova configuração. Para eliminar esse problema, retome a atualização de sobrecarga executando o comando de atualização novamente, usando os mesmos parâmetros de destino da operação interrompida. A inicialização de uma atualização com diferentes parâmetros do pool de nós fica restrita até que a atualização anterior seja concluída.
Fazer a reversão da atualização súbita com falha
É possível reverter um pool de nós para o estado original se uma atualização de sobrecarga for cancelada ou falhar.
O que considerar antes de reverter uma atualização súbita
- Só é possível reverter um pool de nós com suporte à capacidade de pico que esteja em um estado parcialmente
atualizado (ou no estado
DEGRADED
). - Depois que uma reversão é iniciada em um pool de nós, não é possível cancelá-la.
- Não é possível realizar mais operações de atualização até que a operação de reversão seja concluída.
- Só é possível tentar novamente uma reversão se ela falhar.
- Não é possível reverter os pools de nós depois da atualização.
Como reverter uma atualização súbita com falha
Para reverter uma operação de atualização sem sucesso no pool de nós, execute o seguinte comando:
gcloud container aws node-pools rollback NODE_POOL_NAME
--cluster CLUSTER_NAME
Substitua:
NODE_POOL_NAME
: o nome do pool de nós a ser atualizado;CLUSTER_NAME
: o nome do cluster.
Como a reversão funciona
O início de uma reversão interna inicia uma nova operação de atualização no pool de nós. "Internamente" significa que esse processo é executado no próprio sistema e não requer sua intervenção. A operação reverte os nós do pool de nós de volta ao estado original, na medida do possível.
Os nós pertencentes ao antigo grupo de escalonamento automático são desconectados, e o escalonador automático do cluster desse grupo é ativado para permitir que as cargas de trabalho sejam programadas nos nós. Os nós do pool de nós parcialmente atualizados no novo grupo de escalonamento automático são isolados, esvaziados e encerrados com base nas configurações de pico definidas na tentativa inicial de atualização de pico.
Gerenciar atualizações súbitas malsucedidas
Você tem três opções para resolver uma atualização com falha:
- Continue a atualização: é possível prosseguir com a atualização com falha usando as mesmas configurações do pool de nós de destino que a tentativa inicial malsucedida.
- Reversão: use o comando de reversão para reverter o pool de nós ao estado original.
- Modifique e reinicie: se você quiser alterar os parâmetros da atualização de sobrecarga, o pool de nós atual precisará ser excluído e recriado com as novas configurações. Para instruções sobre como excluir um pool de nós, consulte Excluir um pool de nós.