Nós de upgrade automático

Nesta página, mostramos como configurar upgrades automáticos de nó no Google Kubernetes Engine.

Visão geral

Com os upgrades automáticos de nós, os nós do cluster acompanham a versão do mestre do cluster quando ele é atualizado para você. Quando você cria um novo cluster ou pool de nós com o Console do Google Cloud ou com o comando gcloud, o upgrade automático de nós é ativado por padrão.

Saiba mais sobre upgrades de nós e clusters.

Os upgrades automáticos de nós oferecem vários benefícios:

  • Menor sobrecarga no gerenciamento: não é preciso rastrear e atualizar manualmente os nós quando o mestre é atualizado para você.
  • Mais segurança: às vezes, novos binários são lançados para corrigir um problema de segurança. Com upgrades automáticos, o GKE garante automaticamente que as atualizações de segurança sejam aplicadas e atualizadas.
  • Facilidade de uso: fornece uma maneira simples de manter seus nós atualizados com os recursos mais recentes do Kubernetes.

Pools de nós com upgrades automáticos ativados são programados para upgrades quando satisfazem os critérios de seleção (anunciados nas notas de lançamento). Os lançamentos são divididos em várias semanas para garantir a estabilidade do cluster e da frota. Quando o upgrade é executado, os nós são esvaziados e recriados para corresponder à versão atual do mestre do cluster. As modificações no disco de inicialização da VM do nó não são mantidas na recriação dos nós. Para manter as modificações durante a recriação dos nós, use um DaemonSet.

O upgrade automático de nós não está disponível para clusters Alfa. Se você estiver usando um cluster com pools de nós do Windows Server, consulte Como fazer upgrade dos pools de nós do Windows Server antes de ativar o upgrade automático de nós.

Como verificar o estado do upgrade automático de um pool de nós atual

É possível verificar se o upgrade automático está ativado ou desativado para um pool de nós usando o Console do Google Cloud ou o comando gcloud.

gcloud

Para verificar o estado do upgrade automático de um pool de nós, execute o comando a seguir:

gcloud container node-pools describe node-pool-name \
  --cluster cluster-name \
  --zone compute-zone

em que:

  • node-pool-name é o nome do pool de nós;
  • cluster-name é o nome do cluster que contém o pool de nós;
  • compute-zone é a zona do cluster.

Console

Para verificar o estado do upgrade automático de um pool de nós, faça o seguinte:

  1. Acesse o menu do Google Kubernetes Engine no Console do Cloud.

    Acessar o menu do Google Kubernetes Engine

  2. Clique no botão de edição do cluster, que tem a forma de um lápis.

  3. Na seção Pools de nós, selecione o pool de nós que você quer examinar.

  4. Na seção Gerenciamento, veja o valor do campo Upgrade automático.

Como ativar upgrades automáticos de nós para um pool de nós atual

Quando você cria um novo cluster com o Console do Google Cloud ou com o comando gcloud, o upgrade automático de nós é ativado por padrão.

É possível ativar o upgrade automático de nós se ele estiver desativado.

gcloud

Para ativar os upgrades automáticos para um pool de nós atual, execute o comando abaixo:

gcloud container node-pools update node-pool-name --cluster cluster-name \
    --zone compute-zone --enable-autoupgrade

em que:

  • node-pool-name é o nome do pool de nós;
  • cluster-name é o nome do cluster que contém o pool de nós;
  • compute-zone é a zona do cluster.

Console

Para ativar upgrades automáticos para um pool de nós atual, execute as etapas abaixo:

  1. Acesse o menu do Google Kubernetes Engine no Console do Cloud.

    Acessar o menu do Google Kubernetes Engine

  2. Clique no botão de edição do cluster, que tem a forma de um lápis.

  3. Na seção Pools de nós, clique no nome do pool de nós que você quer modificar e, em seguida, clique em Editar.

  4. Selecione Ativar upgrade automático.

  5. Clique em Salvar para modificar o cluster.

Para ter mais controle sobre quando os nós podem ser atualizados automaticamente, considere configurar janelas de manutenção e exclusões.

Como desativar upgrades automáticos de nós em um pool de nós atual

É possível desativar o upgrade automático de nós para um pool de nós atual. Se fizer isso, você garante que os nós do cluster executem uma versão compatível com a versão do cluster.

gcloud

Para desativar upgrades automáticos para um pool de nós existente, execute o comando abaixo:

gcloud container node-pools update node-pool-name --cluster cluster-name \
    --zone compute-zone --no-enable-autoupgrade

Console

Para desativar upgrades automáticos para um pool de nós atual, execute as etapas abaixo:

  1. Acesse o menu do Google Kubernetes Engine no Console do Cloud.

    Acessar o menu do Google Kubernetes Engine

  2. Clique no botão de edição do cluster, que tem a forma de um lápis.

  3. Na seção Pools de nós, clique no nome do pool de nós que você quer modificar e, em seguida, clique em Editar.

  4. Desmarque Ativar upgrade automático.

  5. Clique em Salvar para modificar o cluster.

Como criar um cluster ou pool de nós com upgrades automáticos de nós ativados

gcloud

Para criar um cluster com os upgrades automáticos ativados para o pool de nós padrão, especifique a sinalização --enable-autoupgrade no comando gcloud container clusters create:

gcloud container clusters create cluster-name --zone compute-zone \
    --enable-autoupgrade

Para criar um pool de nós com o upgrade automático ativado:

gcloud container node-pools create node-pool-name --cluster cluster-name \
    --zone compute-zone --enable-autoupgrade

Console

Os clusters e os pools de nós criados com o Console do Cloud têm os upgrades automáticos ativados por padrão. Acesse Como criar um cluster ou Como adicionar e gerenciar pools de nós para ver instruções sobre como criar clusters e pools de nós.

É possível desativar upgrades automáticos para novos pools de nós. Na página de criação do cluster, clique no nome do pool de nós que você quer modificar e desmarque a opção Ativar upgrade automático.

Como mudar os parâmetros de upgrade súbito

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 Como determinar sua configuração de sobretensão ideal.

É 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 para o 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 de nós em cada uma das zonas do cluster.
  • surge-nodes é o número de nós extras (para 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

Ativar ou desativar o upgrade súbito para 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 beta 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

A seguir