Configurar atualizações súbitas de pools de nós

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 e max-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ê definir max-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:

  1. 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.
  2. Reversão: use o comando de reversão para reverter o pool de nós ao estado original.
  3. 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.