Canais de lançamento do Cloud Service Mesh gerenciado

Essa mudança afeta apenas clusters do Google Cloud. Os clusters fora do Google Cloud Continue usando o asmcli normalmente.

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 frequência de upgrade de cada lançamento canal.

Neste documento, abordamos comparações de canais de lançamento e como atualizar e 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 do Cloud Service Mesh gerenciado 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 use novos recursos no momento em 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 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 se manter informado com as últimas informações, adicione o URL das notas da versão do Cloud Service Mesh ao seu 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 demonstrada 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. Novo Cloud Service Mesh são lançadas primeiro no canal Rápido e, com o tempo, são promovidas para os canais Regular 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 GKE canal do cluster.

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

Seu canal do Cloud Service Mesh é determinado pelo cluster do GKE durante o provisionamento do Cloud Service Mesh gerenciado. Se você mudar 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:

Channel Versão do Cloud Service Mesh
Rápido 1.19
Normal 1.19
Estável 1.18

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

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

É possível usar o rótulo istio-injection=enabled como um alias que aponta para a injeção dos 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, o namespace 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 para esse cluster. O uso do rótulo de injeção padrão simplifica a migração entre revisões. Por exemplo, quando migrar do Istio OSS ou do do Cloud Service Mesh não gerenciado ao Cloud Service Mesh gerenciado, porque não é necessário rotular novamente cada namespace individualmente. Sempre que a documentação do Cloud Service Mesh mostrar que usar o 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 lançamento do Cloud Service Mesh, reinicie os proxies não gerenciados dos serviços e gateways. Mesmo que a malha de serviço esteja correta com o plano de controle e os proxies em versões diferentes, recomendamos que você atualize os proxies para que eles 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