Canais de lançamento

Neste tópico, apresentamos os canais de lançamento, que fornecem as práticas recomendadas do Google Kubernetes Engine (GKE) para o controle de versão e o upgrade dos clusters do GKE.

Visão geral

O Kubernetes lança atualizações com frequência para fornecer atualizações de segurança, corrigir problemas conhecidos e introduzir novos recursos. Os canais de lançamento oferecem aos clientes a capacidade de equilibrar estabilidade e o conjunto de recursos da versão implantada no cluster.

Quando você inscreve um novo cluster em um canal de lançamento, o Google gerencia automaticamente a versão e a cadência do upgrade para o cluster e os respectivos pools de nós. 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). As novas versões do Kubernetes são lançadas primeiro no canal rápido e, com o tempo, serão promovidas para o canal normal e estável. Isso permite que você inscreva seu cluster em um canal que atenda às suas necessidades de negócios, estabilidade e funcionalidade.

Por padrão, os novos clusters criados no GKE são inscritos no canal de lançamento Normal.

Quais canais estão disponíveis?

Os canais de lançamento a seguir estão disponíveis. Cada canal oferece um equilíbrio entre disponibilidade de recursos e rotatividade de atualizações. Cada canal tem um standard de qualificação diferente, mas todos os canais oferecem versões de teste de disponibilidade geral do Kubernetes.

Canal Disponibilidade da nova versão do Kubernetes Propriedades
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, mas é melhor para testar versões mais recentes do Kubernetes e da API em ambientes de pré-produção. Como o Canal rápido oferece as versões mais recentes do GKE, elas são excluídas do SLA do GKE e podem conter problemas sem soluções alternativas conhecidas.
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 da versão, mas 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 * Prioriza a estabilidade em relação à nova funcionalidade. As mudanças e as novas versões deste canal são lançadas por último, depois de serem validadas nos canais rápido e normal, o que permite ainda mais tempo para validação.

*As programações de lançamentos exatas dependem de vários fatores, como o lançamento de código aberto e a programação de patches. Por isso, estão sujeitas a alterações. Para acompanhar as últimas informações, revise as Notas de lançamento do GKE ou inscreva-se no feed RSS do seu canal.

Quando você inscreve um cluster em um canal de lançamento, esse cluster é atualizado automaticamente quando uma nova versão é disponibilizada nesse canal.

Quando uma versão tiver acumulado o uso e demonstrado estabilidade no Canal rápido, ela será 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.

Nenhum canal

Para ter um gerenciamento mais direto do plano de controle das versões de nó do cluster, é possível optar por não inscrever o cluster em um canal de lançamento (ou seja, "sem canal") especificando uma versão estática do GKE. No entanto, recomendamos inscrever o cluster em um canal de lançamento, porque isso garante automaticamente a segurança, o desempenho e a estabilidade. Com os canais de lançamento, também é possível controlar o tempo e o escopo dos upgrades por meio de janelas e exclusões de manutenção.

Upgrades de plano de controle

Mesmo que o cluster não esteja inscrito em um canal de lançamento, o GKE ainda fará upgrade regular do plano de controle do cluster para versões mais recentes. O GKE fará upgrade dos planos de controle para a próxima versão secundária na data de início programada dos upgrades. Consulte as notas da versão para ver as informações mais recentes sobre os upgrades programados.

Upgrades de nós

Ao executar um cluster com uma versão estática ("sem canal"), você pode manter o upgrade automático de nós ativado ou desativar o upgrade automático de nóse gerenciar sua estratégia de upgrade de nós. Recomendamos que o upgrade automático de nós seja ativado para que as versões de nó sejam atualizadas automaticamente após os upgrades do plano de controle.

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 for disponibilizada em um canal de lançamento, ela permanecerá disponível nesse canal de lançamento para clusters novos ou existentes até atingir a versãodata de fim da vida útil de dados.

Como visualizar as versões padrão e disponíveis dos 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

Como executar versões de patch em um canal mais recente

Além das versões disponíveis listadas para um canal de lançamento, o GKE fornece acesso limitado às versões de patch dos canais de lançamento menos maduros. Um cluster inscrito em um canal de lançamento pode usar versões de patch de um canal mais recente. se a versão secundária no canal mais recente é a mesma versão secundária 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. Um novo cluster também pode ser criado executando 1.22.4-gke.1500 e inscrito no canal Regular.

O cluster permanecerá na versão de patch do canal menos maduro 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.

Qual canal devo usar?

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:

Ciclo de adoção dos canais de lançamento

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.

Como registrar um cluster em um canal de lançamento

É possível inscrever um cluster novo ou atual em um canal de lançamento.

Como 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.

  1. Acesse a página do Google Kubernetes Engine no Console do Cloud:

    Acessar o Google Kubernetes Engine

  2. Clique em Criar.

  3. Na seção Padrão, clique em Configurar.

  4. Em Versão do plano de controle, a opção Canal de lançamento é selecionada por padrão.

  5. 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.

  6. Continue criando o cluster como quiser.

  7. 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 ou stable;
  • 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 de gcloud container clusters create. Para ver a lista completa de sinalizações opcionais para clusters do Autopilot, consulte a documentação gcloud container clusters create-auto.

Como registrar clusters atuais

É possível inscrever um cluster atual em um canal de lançamento, desde que a versão do plano de controle do cluster possa fazer upgrade para o padrão do canal de lançamento. Isso significa que a versão padrão do canal de lançamento precisa ser igual ou no máximo uma versão secundária maior que a versão do plano de controle atual.

Para se inscrever, atualize o canal de lançamento do cluster para o CHANNEL desejado.

Como encontrar o canal do cluster

Determine o canal de lançamento do cluster usando gcloud ou o Console do Google Cloud.

Console

  1. Acesse a página do Google Kubernetes Engine no Console do Cloud.

    Acessar o Google Kubernetes Engine

  2. Clique no nome do cluster que você quer inspecionar.

  3. 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;

Como selecionar um novo canal de lançamento

A migração entre canais de lançamento é compatível com cenários limitados.

Uma transição que resulta em um único upgrade de versão secundária, como a migração de Estável para Normal, é compatível.

Os downgrades, como a migração de Normal para Estável, não são possíveis devido ao risco de downgrade em versões secundárias do Kubernetes. Da mesma forma, upgrades de mais de uma versão secundária, como a migração de Estável para Rápida, não são compatíveis.

Para selecionar um novo canal de lançamento, atualize o canal de lançamento do cluster para o CHANNEL desejado.

Se não for possível selecionar um novo canal de lançamento, recomendamos que você crie um novo cluster no canal desejado e migre suas cargas de trabalho. Se preferir usar o cluster atual, siga as instruções para cancelar a inscrição em um canal de lançamento, aguarde até que o canal de lançamento de destino disponibilize a versão secundária do Kubernetes do cluster e siga as instruções para inscrever o cluster atual no canal de lançamento.

Como cancelar o registro em um canal de lançamento

Se você cancelar a inscrição em um canal, os pools de nós do cluster continuarão com o upgrade e o reparo automáticos ativados, mesmo depois da desativação dos canais de lançamento. Quando um cluster não estiver mais inscrito em um canal de lançamento, você poderá desativar o upgrade automático do nó e desativar o reparo automático do nó manualmente.

Quando a inscrição de um cluster é cancelada em um canal de lançamento, os upgrades manuais ainda estão sujeitos às seguintes limitações:

Para cancelar a inscrição em um canal de lançamento, atualize o canal de lançamento do cluster para um valor de None:

gcloud container clusters update CLUSTER_NAME \
    --release-channel None

Como atualizar o canal de lançamento do cluster

Para editar a propriedade do canal de lançamento de um cluster, execute o comando a seguir:

gcloud container clusters update CLUSTER_NAME \
    --release-channel CHANNEL

Substitua:

  • CLUSTER_NAME: o nome do cluster.
  • CHANNEL: o canal de lançamento desejado, que pode ser rapid, regular, stable ou None.

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