Use canais de lançamento do Google Kubernetes Engine (GKE) para escolher versões para os clusters com o equilíbrio escolhido entre disponibilidade e estabilidade de recursos.
O GKE faz upgrade de todos os clusters automaticamente ao longo do tempo, incluindo aqueles não inscritos em um canal de lançamento, para garantir que eles recebam atualizações de segurança, correções de problemas conhecidos, novos recursos e executem uma versão compatível do Kubernetes. É possível controlar o tempo dos upgrades com janelas de manutenção e exclusões.
Recomendamos registrar o cluster em um canal de lançamento, porque isso oferece mais controle em relação ao escopo das exclusões de manutenção, impedindo temporariamente tipos específicos de upgrades em vez de todos os upgrades e sequenciando o lançamento de upgrades de cluster. Os clusters do Autopilot só podem ser registrados em um canal de lançamento.
Se você não registrar o cluster padrão em um canal de lançamento, será possível desativar os upgrades automáticos de nós para os pools de nós selecionados e manualmente gerenciar upgrades dos nós nesses pools. No entanto, os planos de controle de todos os clusters são atualizados automaticamente e, quando uma versão atinge o fim da vida útil, os planos de controle do cluster e os nós são atualizados automaticamente, independentemente da inscrição do canal de lançamento. Para saber mais, consulte quando não registrar o cluster em um canal de lançamento.
Quais canais estão disponíveis?
A tabela a seguir explica as propriedades dos canais de lançamento disponíveis, cada um oferecendo uma compensação entre a disponibilidade de recursos e a desistência de usuários. Todos os canais oferecem versões compatíveis do GKE e são considerados de disponibilidade geral (embora os recursos individuais nem sempre sejam de disponibilidade geral, conforme marcado). As versões do Kubernetes nesses canais são versões oficiais do Kubernetes e incluem as APIs Kubernetes Beta e de disponibilidade geral (conforme marcado).
Canal | Disponibilidade da nova versão do Kubernetes | Quando usar esse canal |
---|---|---|
Rápido | Várias semanas após o lançamento do GA de código aberto | Instale a versão mais recente do Kubernetes o quanto antes e use os novos recursos do GKE assim que estiverem disponíveis no GA. Seu cluster é frequentemente atualizado para permanecer na versão de patch mais recente disponível e fornece recursos mais recentes do Kubernetes. Os clusters inscritos no Canal rápido usam versões do GA. No entanto, recomendamos o uso do Canal rápido para testar a API e as versões mais recentes do Kubernetes em ambientes em pré-produção. |
Normal (padrão) | Dois a três meses após o lançamento no formato rápido | Acesse os recursos do GKE e do Kubernetes logo após o lançamento em disponibilidade geral da versão, mas em uma versão que foi melhorada durante um período mais longo. Ela oferece um equilíbrio de disponibilidade e estabilidade de recurso, e é o que recomendamos para a maioria dos usuários. |
Estável | Dois a três meses após o lançamento no formato normal | Priorize a estabilidade em relação aos novos recursos. O GKE lança alterações e novas versões por último neste canal, depois de ser validado nos canais rápido e regular, o que permite ainda mais tempo para validação. |
Quando você registra um cluster em um canal de lançamento, esse cluster é atualizado automaticamente durante ou após a data especificada na coluna Upgrade da programação de lançamento do GKE.
Quando uma versão acumula uso e demonstra estabilidade em clusters no canal Rápido, ela é promovida para o canal normal. Por fim, a versão é promovida para o canal estável, que recebe apenas atualizações de alta prioridade. Cada promoção sinaliza um nível gradual de estabilidade e preparação para a produção, com base no desempenho observado dos clusters que executam essa versão.
Patches de segurança críticos são entregues a todos os canais de lançamento para proteger seus clusters e a infraestrutura do Google.
Quais versões estão disponíveis em um canal
Cada canal de lançamento oferece uma versão padrão, selecionada em um conjunto de versões disponíveis para esse canal. Essas versões atingiram standards de qualificação para esse canal específico. Com o tempo, o GKE automaticamente faz upgrade dos clusters para a versão padrão.
- Novos lançamentos de patches ficam disponíveis pelo menos uma semana antes de serem padrão para todos os canais.
- Novos lançamentos secundários são disponibilizados:
- pelo menos duas semanas antes de se tornarem padrão para o canal rápido.
- pelo menos quatro semanas antes de se tornarem padrão para os canais Normal e Estável.
É possível testar uma versão recém-disponível do GKE antes de fazer upgrade do ambiente de produção. Por exemplo, é possível se inscrever em notificações de upgrade para ser informado sobre versões recém-disponíveis e, em seguida, fazer upgrade de um ambiente de pré-produção para a nova versão antes que ela se torne o padrão.
Se você precisar manter um cluster em uma versão específica, por exemplo, para validar ou testar versões mais recentes antes do upgrade, recomendamos o uso de exclusões de manutenção.
Para as versões 1.19 e posteriores, depois que uma versão secundária for disponibilizada em um canal de lançamento, ela permanecerá disponível nesse canal para clusters novos ou existentes até atingir a data de fim da vida útil.
Ver as versões padrão e disponível para canais de lançamento
Para visualizar as versões padrão e disponíveis dos canais de lançamento, execute o
seguinte comando, substituindo COMPUTE_ZONE
pela zona do Compute:
gcloud container get-server-config --format "yaml(channels)" --zone COMPUTE_ZONE
Para visualizar as versões disponíveis para clusters não inscritos em um canal de lançamento,
execute este comando para canais de lançamento equivalente,
substituindo "yaml(channels)"
no comando por "yaml(validMasterVersions)"
.
O que acontece quando uma versão nova se torna padrão em um canal de lançamento?
Quando uma nova versão do GKE se torna padrão em um canal de lançamento:
- Novos clusters são criados usando a nova versão padrão no canal de lançamento selecionado.
- Os clusters qualificados atuais são atualizados automaticamente em até 10 dias após o lançamento de uma nova versão no canal de lançamento.
Se tiverem passado 10 dias após uma nova versão se tornar padrão no canal de lançamento e os upgrades automáticos não tiverem sido iniciados para seu cluster, o atraso pode ser causado por um dos seguintes motivos:
- Seu cluster não está qualificado temporariamente para os upgrades automáticos. Isso pode
ocorrer porque:
- O cluster está fora do período de uma janela de manutenção configurada.
- O cluster está dentro do período de uma exclusão de manutenção.
- Os upgrades automáticos são pausados porque o cluster usa recursos descontinuados do Kubernetes que são removidos na próxima versão secundária.
- O cluster foi atualizado automaticamente para uma versão de patch há menos de 24 horas.
- O cluster foi atualizado automaticamente para uma versão secundária há menos de 30 dias, e a nova versão padrão é uma nova versão secundária.
- O GKE pausou o lançamento da nova versão padrão por motivos técnicos ou comerciais:
- Problemas técnicos foram descobertos na nova versão.
- Há um congelamento da produção devido a um período crítico de negócios, como a Black Friday.
Como executar versões de patch em um canal mais recente
Além das versões de patch disponíveis listadas para um canal de lançamento, é possível executar versões de patch a partir de canais de lançamento mais recentes do que aquele em que seu cluster está inscrito se a versão secundária está disponível no canal de lançamento do cluster.
Por exemplo, se as seguintes versões estavam disponíveis nos canais rápido e regular:
- Rápido: 1.23.2-gke.700, 1.22.4-gke.1500
- Regular: 1.21.4-gke.400, 1.22.1-gke.400
Um cluster inscrito no canal Regular que está executando a versão 1.22.1-gke.400 do GKE pode fazer upgrade para 1.22.4-gke.1500, mas não para 1.23.2- gke.700 porque é uma versão secundária diferente.
Para fazer upgrade para uma versão de patch em um canal mais recente, o plano de controle do cluster precisa executar uma versão de patch com a mesma versão secundária. Por exemplo, se o cluster estiver executando 1.21.3-gke.200, primeiro faça upgrade do cluster para uma versão do patch disponível no canal de lançamento atual, 1.22.1-gke.400. É possível fazer upgrade do cluster para 1.22.4-gke.1500.
Também é possível criar um novo cluster que execute a 1.22.4-gke.1500 e esteja inscrito no canal Normal.
O cluster permanecerá na versão de patch do canal mais recente até que a versão padrão do canal em que o cluster está inscrito se torna maior do que a versão do cluster. Nesse momento, o upgrade do cluster será feito automaticamente para a versão padrão.
Como ficar por dentro das novidades de um canal
Para saber quais são as novidades de um canal de lançamento, confira As notas de lançamento. Há notas de versão separadas para cada canal de lançamento, além das Notas de lançamento gerais.
Canal de lançamento | Notas de lançamento |
---|---|
Canal rápido | HTML ou Atom feed. |
Canal normal | HTML ou Atom feed. |
Canal estável | HTML ou Atom feed. |
Escolha o melhor canal de lançamento para seu cluster
Os canais incluem apenas versões de disponibilidade geral do Kubernetes, e cada canal representa um nível diferente de qualidade e maturidade das versões do Kubernetes e do GKE. O diagrama a seguir ilustra o ciclo de adoção dos canais de lançamento:
Como mostrado no diagrama, os canais de lançamento disponíveis usam versões no meio do ciclo de adoção, incluindo os Primeiros usuários (canal rápido), Maioria inicial (canal normal) e Maioria (canal estável). A primeira parte do ciclo de adoção é a dos Inovadores, que testam os recursos mais recentes usando a versão upstream do Kubernetes. A última parte do ciclo de adoção é a Maioria atrasada, em que você usa uma versão que está prestes a ser descontinuada e precisa fazer a transição para uma versão suportada.
Nos ambientes de pré-produção, use o Canal rápido para versões mais recentes em que é possível testar os recursos assim que eles estiverem disponíveis para todos.
Para as cargas de trabalho de produção que exigem maturidade sobre a funcionalidade mais recente, recomendamos o uso do canal Regular (padrão) ou do Canal estável.
- Para acompanhar atentamente novos recursos, use o Canal normal, que oferece equilíbrio entre estabilidade e atualização da versão do Kubernetes OSS.
- Se o requisito for maturidade, principalmente para clusters de produção, use o Canal estável.
O GKE realiza upgrade de clusters para uma versão mais recente que atenda à standards de qualidade do canal. No entanto, recomendamos fazer upgrade dos clusters com antecedência, porque isso oferece:
- melhor controle dos upgrades e alinhamento com seu horário de trabalho;
- melhor previsibilidade, já que o GKE pula os clusters de upgrade automático que atendam ao destino da versão, ou seja, clusters que foram atualizados manualmente para a próxima versão de destino. Os nós são atualizados automaticamente para a versão recomendada no canal selecionado para se alinhar à versão do plano de controle e proteger você contra vulnerabilidades e desvio da versão incompatível.
Registrar um cluster em um canal de lançamento
Esta seção mostra como selecionar um canal de lançamento para clusters novos ou para clusters atuais que não usavam um canal de lançamento anteriormente. Também é possível mudar o canal de lançamento de um cluster existente que já esteja inscrito em um canal de lançamento.
Essa mudança não requer inatividade. No entanto, como o GKE pode ter diferentes upgrades automáticos disponíveis no canal de lançamento, recomendamos o uso de janelas e exclusões de manutenção para controlar o tempo dos upgrades.
Registrar novos clusters
É possível criar e inscrever um novo cluster em um canal de lançamento usando a CLI gcloud ou o Console do Google Cloud. Por padrão, novos clusters são inscritos automaticamente no canal de lançamento normal.
Console
Para clusters do GKE Standard, é possível especificar um canal diferente durante a criação no Console do Google Cloud.
Acesse a página Google Kubernetes Engine no Console do Google Cloud.
Clique em add_box Criar.
Na seção Padrão, clique em Configurar.
Em Versão do plano de controle, a opção Canal de lançamento é selecionada por padrão.
Na lista suspensa Canal de lançamento, selecione um canal de lançamento para registrar o cluster ou deixe o valor padrão Canal normal.
Continue criando o cluster como quiser.
Clique em Criar.
gcloud
Para criar e registrar um cluster Standard em um canal de lançamento específico, execute o seguinte comando:
gcloud container clusters create CLUSTER_NAME \ --zone COMPUTE_ZONE \ --release-channel CHANNEL \ ADDITIONAL_FLAGS
Para criar e inscrever um cluster do Autopilot em um canal de lançamento específico, execute o seguinte comando:
gcloud container clusters create-auto CLUSTER_NAME \ --region=COMPUTE_REGION --release-channel CHANNEL \ ADDITIONAL_FLAGS
Substitua:
CLUSTER_NAME
: o nome do novo cluster;- Para clusters regionais, use a sinalização
--region COMPUTE_REGION
e especifique a região do cluster. - Para clusters zonais, use a sinalização
--region COMPUTE_ZONE
e especifique a zona do cluster. CHANNEL
: o tipo de canal de lançamento:rapid
,regular
oustable
;ADDITIONAL_FLAGS
: outras sinalizações que você precisa especificar ao criar o cluster. Para ver a lista completa de sinalizações opcionais de clusters Standard, consulte a documentação degcloud container clusters create
. Para ver a lista completa de sinalizações opcionais para clusters do Autopilot, consulte a documentaçãogcloud container clusters create-auto
.
Também é possível criar um cluster com uma versão específica usando a sinalização
--cluster-version
. Se você não especificar um canal de lançamento, o GKE registrará
seu cluster no canal de lançamento mais maduro em que essa versão estiver
disponível.
Além disso, se você não especificar o canal de lançamento ou a versão do cluster, o
cluster será padronizado para o canal de lançamento regular
na versão padrão.
Registrar clusters atuais
É possível registrar um cluster atual em um canal de lançamento, desde que a versão do plano de controle do cluster esteja disponível no canal de lançamento de destino. Para verificar se a versão do plano de controle do cluster está disponível no canal de lançamento de destino, veja as versões padrão e disponíveis para os canais de lançamento. Para saber mais sobre como alinhar a versão do plano de controle do cluster às versões disponíveis para o canal de lançamento de destino, consulte Selecionar um novo canal de lançamento.
Para se inscrever, atualize o canal de lançamento do cluster
para o CHANNEL
desejado.
Encontrar o canal de lançamento do cluster
É possível determinar o canal de lançamento do cluster usando a CLI gcloud ou o console do Google Cloud.
Console
Acesse a página Google Kubernetes Engine no console do Google Cloud.
Clique no nome do cluster que você quer inspecionar.
Em Conceitos básicos do cluster, verifique o valor no campo Canal de lançamento (por exemplo, Canal normal).
gcloud
gcloud container clusters describe CLUSTER_NAME \ --zone COMPUTE_ZONE --format="value(releaseChannel.channel)"
Substitua:
CLUSTER_NAME
: o nome do cluster.COMPUTE_ZONE
: a zona do Compute do cluster;
Alterar o canal de lançamento do cluster
Será possível alterar o canal de lançamento do cluster se a versão do plano de controle estiver disponível no canal de lançamento de destino. Talvez seja necessário fazer upgrade ou downgrade do plano de controle do cluster para uma versão disponível.
Para verificar se a versão do plano de controle do cluster está disponível no canal de lançamento de destino, veja as versões padrão e disponíveis para os canais de lançamento. A versão precisa estar disponível no canal de destino.
- Se a versão do plano de controle do cluster já estiver disponível no canal de lançamento de destino, selecione o novo canal de lançamento.
- Se a versão do plano de controle do cluster não estiver disponível no canal de lançamento de destino, será possível fazer upgrade do plano de controle do cluster para uma versão disponível. Como alternativa, se o canal de destino tiver apenas versões anteriores disponíveis, você poderáfazer downgrade do cluster , desde que a versão de destino seja umlançamento de patch anterior da mesma versão secundária.
Para selecionar um novo canal de lançamento, atualize o canal de lançamento do cluster
para o CHANNEL
desejado. Se você quiser impedir temporariamente o upgrade automático do cluster quando selecionar o novo canal, configure uma exclusão de manutenção antes de selecionar o novo canal.
Se não for possível selecionar o canal de lançamento de destino porque o cluster está executando uma versão que não está disponível nesse canal de lançamento, crie um novo cluster no canal de destino e migrar suas cargas de trabalho. Como alternativa, se você precisar usar o cluster atual, faça o seguinte:
- Configure uma exclusão de manutenção com o escopo "Sem upgrades menores".
- Aguarde até que o canal de lançamento de destino seja disponibilizado para a versão secundária do Kubernetes do seu cluster.
- Registre o cluster existente no canal de lançamento de destino.
Atualizar o canal de lançamento do cluster
É possível alterar o canal de lançamento do cluster usando a CLI gcloud ou o console do Google Cloud.
Console
Acesse a página Google Kubernetes Engine no console do Google Cloud.
Clique no nome do cluster que você quer inspecionar.
Em Conceitos básicos de cluster, no campo Canal de lançamento, clique em edit.
No menu suspenso Canal de lançamento, selecione o canal de lançamento.
Leia e confirme o aviso selecionando Reconheço as condições.
Clique em Salvar alterações.
gcloud
Altere a propriedade do canal de lançamento de um cluster existente:
gcloud container clusters update CLUSTER_NAME \ --release-channel CHANNEL
Substitua:
CLUSTER_NAME
: o nome do cluster.CHANNEL
: o canal de lançamento de destino, que pode serrapid
,regular
,stable
ouNone
.
Quando não registrar o cluster em um canal de lançamento
É possível optar por não registrar um cluster padrão em um canal de lançamento (conhecido como "sem canal" e "estático"). Devido às limitações com clusters não registrados em canais de lançamento, use essa opção somente se não for possível fazer upgrade de alguns pools de nós automaticamente e você precisar fazer upgrade desses nós manualmente. Se o cluster não estiver inscrito em um canal de lançamento, será possível desativar o upgrade automático de nós para os pools de nós selecionados.
Se você quiser impedir temporariamente upgrades automáticos de todo o cluster ou de todos os nós, use uma exclusão de manutenção com o cluster registrado em um canal de lançamento. Com as exclusões de manutenção, é possível desativar temporariamente os upgrades automáticos de nós para todos os pools de nós. Já os upgrades automáticos de nós podem ser desativados no nível do pool de nós caso o cluster não esteja inscrito em um canal de lançamento.
Consulte a tabela a seguir para entender as semelhanças e diferenças entre registrar e não registrar o cluster em um canal de lançamento:
Recurso | Cluster registrado em um canal de lançamento | Cluster não registrado em um canal de lançamento |
---|---|---|
Comportamento de upgrade compartilhado |
|
|
Cronograma do upgrade | Alinhados com o respectivo canal de lançamento |
|
Controle da interrupção do pool de nós |
|
|
Janelas de manutenção | Disponível | Disponível |
Exclusões de manutenção |
Escopos de exclusão de manutenção disponíveis:
|
Restrito ao escopo "Sem upgrades" (30 dias) |
Sequenciamento de lançamento | Disponível com sequências baseadas em frota e em escopo | Indisponível |
Piloto automático | Disponível | Indisponível |
Cancelar a inscrição em um canal de lançamento
É possível cancelar a inscrição do cluster padrão em um canal de lançamento usando o console do Google Cloud, a gcloud CLI ou a API Kubernetes Engine. Também é possível especificar que você não quer registrar o cluster em um canal de lançamento durante a criação dele.
Console
Acesse a página Google Kubernetes Engine no console do Google Cloud.
Clique no nome do cluster que você quer inspecionar.
Em Conceitos básicos de cluster, no campo Canal de lançamento, clique em edit.
Pressione o botão de opção Versão estática.
Leia e confirme o aviso selecionando Reconheço as condições.
Clique em Salvar alterações.
gcloud
Atualize o canal de lançamento do cluster para um valor de None
:
gcloud container clusters update CLUSTER_NAME \ --release-channel None
API
Especifique "releaseChannel": { "channel": UNSPECIFIED}
ao criar ou atualizar um cluster.
Advertências
Lembre-se das condições a seguir ao usar canais de lançamento.
Diferenças entre clusters de canal rápido e clusters alfa
Os clusters criados usando o canal de lançamento rápido não são clusters Alfa. Veja as diferenças:
- Os clusters que usam canais de lançamento podem ser atualizados, e o upgrade automático é ativado (e não pode ser desativado). Clusters alpha não podem receber upgrade.
- Os clusters que usam canais de lançamento não expiram. Clusters Alfa expiram após 30 dias.
- As APIs Alpha Kubernetes não estão ativadas em clusters que usam canais de lançamento.
A seguir
- Saiba mais sobre o upgrade de clusters.
- Saiba como receber notificações de upgrade de cluster.
- Saiba mais sobre como gerenciar upgrades automáticos de clusters em vários ambientes com o sequenciamento de lançamento.