Canais de lançamento do Cloud Service Mesh gerido

O Cloud Service Mesh lança atualizações com frequência para fornecer atualizações de segurança, corrigir problemas conhecidos e introduzir novas funcionalidades. Os canais de lançamento equilibram a estabilidade e o conjunto de funcionalidades da versão do Cloud Service Mesh. Os canais de lançamento do Cloud Service Mesh estão associados aos canais de lançamento do Google Kubernetes Engine (GKE). A Google gere automaticamente a versão e a cadência de atualização de cada canal de lançamento.

Este documento aborda as comparações dos canais de lançamento e como atualizar os proxies não geridos.

Canais de lançamento disponíveis

Estão disponíveis os seguintes lançamentos de canais. Cada canal oferece uma troca entre a disponibilidade de funcionalidades e a rotatividade de atualizações. As funcionalidades em cada canal têm um nível de maturidade diferente. Os patches de segurança críticos são fornecidos a todos os canais de lançamento para proteger os seus clusters e a infraestrutura da Google.

Canal Nova disponibilidade do Cloud Service Mesh gerido Propriedades
Inovação Após cada lançamento do Cloud Service Mesh Receba o lançamento mais recente do Cloud Service Mesh o mais cedo possível e possa usar novas funcionalidades no momento em que são incluídas num lançamento. O seu plano de controlo é atualizado com frequência para se manter na versão de patch mais recente disponível e oferecer capacidades mais recentes. O canal Rápido é mais adequado para testar versões e APIs do Cloud Service Mesh mais recentes em ambientes de pré-produção.
Normal A opção Rápida é promovida a Normal* Aceder às funcionalidades do Cloud Service Mesh e do Istio num período razoavelmente curto após o seu lançamento, mas numa versão que tenha sido validada durante um período mais longo. Oferece um equilíbrio entre a disponibilidade de funcionalidades e a estabilidade do lançamento e é o que recomendamos para a maioria dos utilizadores.
Estável A versão normal é promovida a estável* Priorize a estabilidade em detrimento da nova funcionalidade. As alterações e as novas versões neste canal são implementadas por último, depois de serem validadas nos canais Rapid e Regular, o que permite ainda mais tempo para a validação.
*A programação da promoção para o canal seguinte depende de vários fatores, incluindo o lançamento do Istio de código aberto, o lançamento do Anthos e a programação de aplicação de patches e, por conseguinte, está sujeita a alterações. Para se manter a par das informações mais recentes, adicione o URL das notas de lançamento 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 gerido tem uma utilização suficiente e uma estabilidade demonstrada no canal rápido, é promovida ao canal normal. Eventualmente, a versão secundária é promovida ao canal estável, que só recebe atualizações de alta prioridade e patches de segurança. Cada promoção sinaliza um nível crescente de estabilidade e prontidão para produção, com base no desempenho observado do plano de controlo que executa essa versão.

Todos os canais baseiam-se num lançamento de disponibilidade geral (DG) (embora as funcionalidades individuais possam nem sempre estar em DG, conforme indicado). As novas versões do Cloud Service Mesh são lançadas primeiro no canal rápido e, ao longo do tempo, são promovidas para o canal normal e estável. Isto permite-lhe selecionar um canal que satisfaça as necessidades da sua empresa, 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
Inovação Inovação
Normal Normal
Estável Estável
(sem 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 aprovisionamento do Cloud Service Mesh gerido. Se alterar o canal do cluster do GKE mais tarde, mantém o canal do Cloud Service Mesh original.

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

Canal Versão do Cloud Service Mesh
Inovação 1.21
Normal 1.20
Estável 1.19

Canal predefinido

Numa Cloud Service Mesh recém-instalada onde existe um único canal gerido instalado num cluster, esse canal é o canal predefinido para esse cluster.

Se os clusters com uma instalação existente do Istio ou do Cloud Service Mesh tiverem a etiqueta predefinida configurada, esta tem de apontar para a revisão gerida. Caso contrário, não é necessária nenhuma ação.

Pode usar a etiqueta istio-injection=enabled como um alias que aponta a injeção para as outras etiquetas que usa para o canal, como a revisão predefinida. Sempre que a nossa documentação mostrar a utilização da etiqueta de espaço de nomes istio.io/rev para injeção, é possível usar a etiqueta istio-injection=enabled em alternativa.

Etiquetas de injeção

Para permitir que o Cloud Service Mesh faça a gestão das cargas de trabalho num determinado espaço de nomes, o espaço de nomes tem de ser etiquetado com uma etiqueta correspondente ao canal instalado. O Managed Cloud Service Mesh suporta dois tipos de etiquetas:

  • etiquetas de revisão padrão, nomeadamente asm-managed-stable, asm-managed e asm-managed-rapid, que correspondem aos canais stable, regular e rapid.
  • etiqueta de injeção predefinida (por exemplo, istio-injection=enabled), correspondente ao canal predefinido para esse cluster. A utilização da etiqueta de injeção predefinida simplifica a migração entre revisões. Por exemplo, quando migra do Istio OSS ou do Cloud Service Mesh não gerido para o Cloud Service Mesh gerido, uma vez que não é necessário voltar a etiquetar cada espaço de nomes individualmente. Sempre que a documentação do Cloud Service Mesh mostrar que deve usar a etiqueta de espaço de nomes istio.io/rev para injeção, é possível usar a etiqueta istio-injection=enabled em alternativa.

Outros exemplos de etiquetas de injeção incluem a etiquetagem de cargas de trabalho com sidecar.istio.io/inject (usado frequentemente para gateways) e istio.io/rev, que funciona para espaços de nomes e cargas de trabalho.

Etiquetas de injeção predefinidas

Para aplicar a etiqueta de injeção predefinida a um espaço de nomes:

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

Etiquetas de revisão

Tal como outras etiquetas do Kubernetes, uma etiqueta de revisão é um par de chave-valor. A chave numa etiqueta de revisão é sempre istio.io/rev, mas o valor varia. Para selecionar um canal de lançamento, aplica um dos seguintes nomes de revisões aos seus espaços de nomes:

Nome da revisão Canal
asm-managed Normal
asm-managed-rapid Inovação
asm-managed-stable Estável

Por exemplo, para aplicar o canal de lançamento Regular a um espaço de nomes:

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

Recomendamos que use o mesmo canal de lançamento que o cluster usa.

Para ver que canal de lançamento um espaço de nomes está a usar:

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

Atualize proxies não geridos

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

  1. Verifique a versão do plano de controlo e do proxy.

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

    kubectl rollout restart deployment -n NAMESPACE