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 do upgrade para cada canal de lançamento.
Este documento aborda 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 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 da 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. As 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 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 |
(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 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.19 |
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 desse 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 apontada 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 Managed Cloud Service Mesh é 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 canaisstable
,regular
erapid
. - 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, ao migrar do Istio OSS ou do Cloud Service Mesh não gerenciado para o gerenciado, não é necessário reinserir cada namespace individualmente. Sempre que a documentação do Cloud Service Mesh mostrar o uso do rótulo de namespaceistio.io/rev
para injeção, é possível usar o rótuloistio-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.
Consulte o plano de controle e a versão do proxy.
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