Canais de lançamento do Cloud Service Mesh gerenciado

O Cloud Service Mesh 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 equilibram a estabilidade e o conjunto de recursos da versão do Cloud Service Mesh. Os canais de lançamento do Cloud Service Mesh estão vinculados aos canais de lançamento do Google Kubernetes Engine (GKE). O Google gerencia automaticamente a versão e a cadência de upgrade para cada canal de lançamento.

Neste documento, abordamos comparações de canais de lançamento e como atualizar proxies não gerenciados.

Canais de lançamento 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. Os recursos de cada canal têm um nível de maturidade diferente. 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.

Canal Nova disponibilidade gerenciada do Cloud Service Mesh Propriedades
Rápido Após cada versão do Cloud Service Mesh Receba a versão mais recente do Cloud Service Mesh o mais cedo possível e consiga usar os novos recursos assim que forem incluídos em uma versão. Seu plano de controle é frequentemente atualizado para permanecer na versão mais recente do patch disponível e fornecer recursos mais recentes. O Canal Rápido é melhor usado para testar versões mais recentes do Cloud Service Mesh e APIs em ambientes de pré-produção.
Normal O acesso rápido é promovido a normal* Acesse os recursos do Cloud Service Mesh e do Istio razoavelmente logo após o lançamento, mas em uma versão que foi qualificada por 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 Normal é promovida para Estável* 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
*A programação de promoção para o próximo canal depende de vários fatores, incluindo o lançamento do código aberto do Istio, o lançamento do Anthos e o cronograma de patches. Sedo assim, ela está sujeita a alterações. Para ficar por dentro das informações mais recentes, adicione o URL das notas da versão do Cloud Service Mesh ao leitor de feeds ou adicione o URL do feed diretamente: https://cloud.google.com/feeds/servicemesh-release-notes.xml

Quando uma versão secundária do Cloud Service Mesh gerenciado tem uso suficiente e demonstrou estabilidade no canal rápido, ela é promovida para o canal normal. Por fim, a versão secundária é promovida para o canal estável, que recebe apenas atualizações de alta prioridade e patches de segurança. Cada promoção sinaliza um nível gradual de estabilidade e preparação para a produção, com base no desempenho observado do plano de controle que executa essa versão.

Todos os canais são baseados em uma versão disponível para todos os usuários, embora os recursos individuais nem sempre sejam de disponibilidade geral, conforme marcado. Novas versões do Cloud Service Mesh são lançadas primeiro no canal rápido e, com o tempo, são promovidas para o canal normal e estável. Isso permite que você selecione um canal que atenda às suas necessidades de negócios, estabilidade e funcionalidade.

O canal do Cloud Service Mesh do seu cluster é determinado pelo canal do cluster do GKE.

Canal do GKE Canal do Cloud Service Mesh
Rápido Rápido
Normal Normal
Estável Estável
(nenhum canal) Normal

Versões do Cloud Service Mesh por canal

O canal do Cloud Service Mesh é determinado pelo canal do cluster do GKE no momento do provisionamento do Cloud Service Mesh gerenciado. Se você alterar o canal do cluster do GKE mais tarde, o canal original do Cloud Service Mesh será mantido.

A tabela a seguir mostra o canal atual para o mapeamento de versão do Cloud Service Mesh:

Canal Versão do Cloud Service Mesh
Rápido
Normal
Estável

Canal padrão

Em um Cloud Service Mesh recém-instalado em que há um único canal gerenciado instalado em um cluster, esse canal será o canal padrão do cluster.

Se os clusters com uma instalação atual do Istio ou do Cloud Service Mesh tiverem a tag padrão configurada, ela precisará ser direcionada para a revisão gerenciada. Otherwise, no action is required.

É possível usar o rótulo istio-injection=enabled como um alias que aponta a injeção para os outros rótulos usados no canal, como a revisão padrão. Sempre que nossa documentação mostrar o uso do rótulo de namespace istio.io/rev para injeção, é possível usar o rótulo istio-injection=enabled.

Rótulos de injeção

Para permitir que o Cloud Service Mesh gerencie as cargas de trabalho em um determinado namespace, ele precisa ser rotulado com um rótulo correspondente ao canal instalado. O Cloud Service Mesh gerenciado é compatível com dois tipos de rótulos:

  • rótulos de revisão padrão, ou seja, asm-managed-stable, asm-managed, asm-managed-rapid, correspondentes aos canais stable, regular e rapid.
  • rótulo de injeção padrão (por exemplo, istio-injection=enabled), correspondente ao canal padrão do cluster. O uso do rótulo de injeção padrão simplifica a migração entre revisões. Por exemplo, ao migrar do Istio OSS ou do Cloud Service Mesh não gerenciado para o Cloud Service Mesh gerenciado, já que não é necessário rotular novamente cada namespace individualmente. Sempre que a documentação do Cloud Service Mesh mostrar o uso do rótulo de namespace istio.io/rev para injeção, é possível usar o rótulo istio-injection=enabled.

Outros exemplos de rótulos de injeção incluem a marcação de cargas de trabalho com sidecar.istio.io/inject (geralmente usado para gateways) e istio.io/rev, que funciona para namespaces e cargas de trabalho.

Rótulos de injeção padrão

Para aplicar o rótulo de injeção padrão a um namespace:

kubectl label namespace NAMESPACE istio-injection=enabled istio.io/rev- --overwrite

Rótulos de revisão

Assim como outros rótulos do Kubernetes, um rótulo de revisão é um par de chave-valor. A chave em um rótulo de revisão é sempre istio.io/rev, mas o valor varia. Para selecionar um canal de lançamento, aplique um dos nomes de revisão a seguir aos seus namespaces:

Nome da revisão Channel
asm-managed Normal
asm-managed-rapid Rápido
asm-managed-stable Canal Stable

Por exemplo, para aplicar o canal de lançamento normal a um namespace:

kubectl label namespace NAMESPACE istio.io/rev=asm-managed --overwrite

Recomendamos usar o mesmo canal de lançamento que o cluster.

Para ver qual canal de lançamento o namespace está usando:

kubectl get namespace NAMESPACE -o jsonpath='{.metadata.labels.istio\.io/rev}{"\n"}'

Atualizar proxies não gerenciados

Após cada versão do Cloud Service Mesh, reinicie os proxies não gerenciados para seus serviços e gateways. Embora a malha de serviço funcione quando o plano de controle e os proxies estão em versões diferentes, recomendamos atualizar os proxies para que sejam configurados com a nova versão do Cloud Service Mesh.

  1. Consulte o plano de controle e a versão do proxy.

  2. Se a versão do plano de controle for mais recente que a versão do proxy, reinicie os proxies não gerenciados para seus serviços e gateways.

    kubectl rollout restart deployment -n NAMESPACE