Este documento descreve como ativar e gerir atualizações de picos de conjuntos de nós. Para obter informações sobre o funcionamento das atualizações de picos de pools de nós, consulte o artigo Acerca das atualizações de picos.
Aspetos a considerar antes de executar atualizações de picos
Antes de executar uma atualização de pico, tenha em atenção o seguinte:
- As instâncias adicionais criadas como parte deste passo de pico podem exceder o limite da quota de instâncias da AWS. Se não tiver quota suficiente e não for possível aprovisionar estas instâncias adicionais, a atualização pode falhar.
- Se
max-unavailable-update
estiver definido como 0, as interrupções nas cargas de trabalho podem continuar a ocorrer à medida que os pods são removidos e reagendados nos nós mais recentes. - O número máximo de nós que podem ser atualizados em simultâneo é igual à soma de
max-surge-update
emax-unavailable-update
, e está limitado a 20.
Ative e configure as atualizações de picos
Para ativar as atualizações de picos, contacte o
Google Cloud apoio técnico. Depois de a equipa de apoio técnico ativar a funcionalidade, pode atribuir valores aos parâmetros max-surge-update
e max-unavailable-update
quando criar ou atualizar o seu conjunto 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 o seguinte:
NODE_POOL_NAME
: o nome do node pool a atualizar.CLUSTER_NAME
: o nome do cluster.GOOGLE_CLOUD_LOCATION
: a região suportada Google Cloud que gere o seu cluster. Por exemplo,us-west1
.MAX_SURGE
: o número máximo de nós adicionais que podem ser criados temporariamente além do tamanho atual do node pool durante uma atualização. Ao ajustar este valor, pode controlar quantos nós são atualizados em simultâneo. A predefinição é 1, mas pode defini-la como 0. Se definirmax-surge-update
para um valor superior a 0, o GKE no AWS cria nós de picos de atividade. Se o definir para 0, impede a respetiva criação.MAX_UNAVAILABLE
: o número máximo de nós que podem estar indisponíveis em simultâneo durante o processo de atualização. Ao aumentar este valor, é possível atualizar mais nós em simultâneo. O valor predefinido é 0, mas pode ser ajustado para cima.
Verifique as definições de atualização por picos num conjunto de nós
Para ver as definições de atualização por picos de um conjunto 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 o seguinte:
NODE_POOL_NAME
: o nome do seu node pool.CLUSTER_NAME
: o nome do cluster.GOOGLE_CLOUD_LOCATION
: a região suportada Google Cloud que gere o seu cluster. Por exemplo,us-west1
.
Se o conjunto de nós tiver atualizações rápidas ativadas, o resultado deste comando
apresenta uma secção etiquetada como surge_settings
. Esta surge_settings
secção
apresenta os valores dos parâmetros max_surge
e max_unavailable
.
Faça a gestão das atualizações de picos em curso
Pode cancelar uma atualização de pico em curso, reverter uma atualização de pico que falhou ou retomar uma atualização que foi interrompida.
Cancele (pause) e retome uma atualização de pico
No GKE on AWS, "cancelar" uma atualização rápida significa, na verdade, pausá-la. Para ver detalhes sobre como cancelar uma atualização, consulte o artigo Cancele uma operação de atualização.
Por outras palavras, o cancelamento de uma atualização de pico não reverte a atualização. Em alternativa, pode deixar o conjunto de nós num estado parcialmente atualizado com dois grupos de dimensionamento automático: um com nós que executam a configuração anterior e outro com nós que executam a nova configuração. Para eliminar este problema, retome a atualização de picos executando novamente o comando de atualização, usando os mesmos parâmetros de destino que a operação interrompida. A iniciação de uma atualização com parâmetros de node pool diferentes está restrita até a atualização anterior terminar.
Reverta a atualização do aumento repentino com falha
Pode reverter um conjunto de nós para o respetivo estado original se uma atualização rápida tiver sido cancelada ou falhado.
Aspetos a considerar antes de reverter uma atualização de pico
- Só pode reverter um conjunto de nós ativado para picos que esteja num estado parcialmente atualizado (ou no estado
DEGRADED
). - Depois de iniciar uma reversão num conjunto de nós, não pode cancelá-la.
- Não pode realizar mais operações de atualização até que a operação de reversão seja concluída com êxito.
- Só pode tentar reverter uma atualização se esta falhar.
- Não é possível reverter os conjuntos de nós depois de terem sido atualizados com êxito.
Como reverter uma atualização de aumento repentino com falhas
Para reverter uma operação de atualização sem êxito no node pool, execute o seguinte comando:
gcloud container aws node-pools rollback NODE_POOL_NAME
--cluster CLUSTER_NAME
Substitua o seguinte:
NODE_POOL_NAME
: o nome do node pool a atualizar.CLUSTER_NAME
: o nome do cluster.
Como funciona a reversão
O início de uma reversão internamente inicia uma nova operação de atualização no conjunto de nós. ("Internamente" aqui significa que este processo é executado no próprio sistema e não requer a sua intervenção). A operação reverte os nós do conjunto de nós para o respetivo estado original com base no melhor esforço.
Os nós pertencentes ao grupo de escalamento automático antigo são descobertos e o escalamento automático do cluster deste grupo é ativado para permitir que as cargas de trabalho sejam agendadas nos nós. Os nós do node pool parcialmente atualizados no novo grupo de escala automática são isolados, esvaziados e terminados com base nas definições de picos que definiu na sua tentativa de atualização de picos inicial.
Faça a gestão das atualizações de aumentos inesperados sem êxito
Tem três opções para resolver uma atualização com falha:
- Continuar a atualização: pode continuar com a atualização falhada usando as mesmas definições do node pool de destino que na tentativa inicial sem êxito.
- Reversão: use o comando de reversão para reverter o conjunto de nós para o respetivo estado original.
- Modificar e reiniciar: se quiser alterar os parâmetros da atualização rápida, tem de eliminar o conjunto de nós existente e, em seguida, recriá-lo com as novas definições. Para ver instruções sobre como eliminar um conjunto de nós, consulte o artigo Elimine um conjunto de nós.