Para garantir a continuidade dos negócios e evitar riscos de segurança e estabilidade decorrentes de instâncias expiradas, o Service Mesh (ASM) oferece suporte a atualizações no local e canary releases para atualizar o plano de controle e o plano de dados.
Pré-requisitos
Conceitos principais
Por que atualizar?
O ASM atualiza as versões principais suportadas do Istio aproximadamente a cada três meses. Versões de patch (como 1.19.x.y) são lançadas conforme necessário para novos recursos e correções de vulnerabilidades. Instâncias expiradas apresentam riscos de segurança e estabilidade. Atualize suas instâncias do ASM prontamente. As versões suportadas estão listadas em Mecanismo de versionamento.
Benefícios das atualizações proativas:
Redução de riscos de segurança e estabilidade: Cada versão corrige vulnerabilidades conhecidas. Manter instâncias expiradas pode expor seus negócios a riscos de segurança e estabilidade.
Suporte de manutenção aprimorado: O ASM não fornece mais patches ou suporte técnico para versões expiradas. A atualização garante a continuidade do suporte.
Acesso a novos recursos: O ASM se adapta às novas versões open source do Istio, proporcionando experiências aprimoradas para desenvolvedores e equipes de O&M.
Precauções e instruções para atualizações
Precauções
A atualização exige o reinício manual dos pods do plano de dados para reinjetar os sidecars da nova versão. Realize atualizações fora do horário de pico.
A atualização manual de um gateway do ASM aciona um reinício gradual.
A injeção de sidecar pode ficar brevemente indisponível durante o processo de atualização. Evite atualizar pods nesse período.
Durante uma atualização, não execute operações como liberação faseada ou configuração de regras de tráfego.
O ASM realiza uma verificação pré-atualização, mas pode não detectar todas as configurações incompatíveis ou operações de API. Revise as precauções de atualização para sua versão de destino antes de prosseguir.
-
Por motivos de segurança, o ASM fornece os seguintes mecanismos:
O ASM pode forçar a atualização de instâncias expiradas para a versão suportada mais antiga. Atualize proativamente para evitar atualizações forçadas.
Atualizações de patch (por exemplo, v1.18.0.123 para v1.18.0.146) são aplicadas automaticamente sem notificação. As versões do gateway do plano de dados e do proxy sidecar permanecem inalteradas durante atualizações a quente.
Instruções sobre atualizações no local
Atualizações no local suportam apenas atualizações para uma versão adjacente. Não há suporte para atualizações entre versões distantes nem rollbacks.
Instruções sobre canary releases
Uma canary release permite verificar uma nova versão antes de mudar para ela, oferecendo um caminho de atualização mais seguro. Esse método suporta atualizações através de uma versão secundária e rollbacks durante o processo.
|
Tipo |
Descrição |
|
Versões aplicáveis |
Instâncias Enterprise Edition ou Ultimate Edition da versão 1.16.4.91 ou posterior. |
|
Cenários |
Nota
Se apenas a versão asm-patch mudar, recomendamos realizar uma atualização no local. |
|
Formato da versão |
A versão de uma instância do ASM segue o formato: <major>.<minor>.<patch>.<asm-patch>[-<sequence>-aliyun]. Exemplo: v1.18.0.158-gc6cf0b9c-aliyun (Enterprise Edition). A lista a seguir descreve os campos do formato:
|
Instruções sobre rótulos de injeção de Sidecar
Ao ative a canary release, duas versões do plano de controle coexistem. Por exemplo, ao atualizar de 1.17.2.42 para 1.18.0, ambas as versões 1.17.2 e 1.18.0 ficam disponíveis simultaneamente.
Durante uma canary release, adicione um rótulo de injeção a um namespace para especifique qual versão do sidecar injetar. O rótulo padrão istio-injection=enabled injeta a versão atual.
Mapeamento entre versão do sidecar e rótulo do namespace quando duas versões coexistem:
-
Versão atual
O sidecar injetado pelo rótulo
istio-injection=enabledcorresponde à versão atual do ASM e se conecta ao plano de controle da versão atual.Adicione o rótulo
istio.io/rev=$revisionao namespace para especifique a versão do sidecar a ser injetada. O formato da variávelrevisionéx-y-z, como1-17-2.Adicione o rótulo
istio.io/rev=stableao namespace para especifique que a versão do sidecar a ser injetada é a versão atual do ASM.
ImportanteNão é possível adicionar os rótulos
istio-injectioneistio.io/reva um namespace simultaneamente.
-
Versão canary
Se um serviço de negócio precisar receber a injeção de um sidecar correspondente à versão canary, adicione o rótulo
istio.io/rev=$revisionouistio.io/rev=canaryao namespace. O formato de$revisionéx-y-z, como1-18-0. Recomendamos o uso do rótuloistio.io/rev=$revision.Para execute uma canary release, consulte Usar canary release para aumentar a estabilidade da atualização.
Caminhos, métodos e processos de atualização
Caminhos de atualização
O exemplo a seguir utiliza uma atualização da v1.16 para a v1.18. Selecione seu caminho de atualização com base no seu ambiente.
|
Versão inicial |
Versão de destino |
Método de atualização |
|
1.16.4.93 |
1.17.2.42 |
Atualização no local ou canary release |
|
1.17.2.42 |
1.18.0.158 |
Atualização no local ou canary release |
|
1.16.4.93 |
1.18.0.158 |
Canary release |
Métodos de atualização
Console do ASM: suporta atualizações no local e canary releases. Consulte Procedimento.
API: suporta atualizações no local. Operações de API relacionadas: UpgradeMeshVersion, DescribeUpgradeVersion e DescribeServiceMeshUpgradeStatus.
Processo de atualização
Confirme a versão de destino e o método de atualização, e revise as precauções antes de prosseguir.
Procedimento
Atualização no local
Faça login no console do ASM. No painel de navegação à esquerda, escolha .
Na página Mesh Management, clique em nome da instância do ASM. No painel de navegação à esquerda, escolha .
Na página Upgrade Management, clique em aba In-place Upgrades. Clique em Perform Upgrade Precheck. Na caixa de diálogo Note exibida, clique em OK.
Após a aprovação na verificação prévia, clique em Upgrade. Na caixa de diálogo Note, clique em OK.
Na seção Data Plane, localize a coluna Upgrade, selecione o gateway de destino e clique em Upgrade Gateway. Na caixa de diálogo Note, clique em OK.
Reinicie as cargas de trabalho conforme necessário. Reimplantar cargas de trabalho.
Canary release
Usar canary release para aumentar a estabilidade da atualização.
Perguntas frequentes sobre atualizações
Quando uma versão canary é alternada para a versão oficial, o sidecar injetado no serviço implantado anteriormente permanece na versão anterior. Como atualizo o sidecar para a nova versão?
Na página Upgrade Management, clique em aba Canary Upgrade e, em seguida, clique em aba Data plane. Na seção Workload to be upgraded, localize a carga de trabalho de destino e clique em Rolling Upgrade na coluna Actions para acionar uma atualização gradual para a implantação do serviço.
Uma atualização no local afeta o tráfego dos serviços existentes?
Uma atualização no local afeta apenas o plano de controle, não o tráfego no plano de dados.
Quantas vezes uma instância do ASM precisa ser atualizada para atingir a versão de destino?
Atualizações no local suportam apenas versões principais adjacentes. Canary releases suportam atualizações através de uma versão secundária. Calcule o número de atualizações necessárias com base nas suas versões atual e de destino.
Posso selecionar qualquer método de atualização para cada versão de uma instância do ASM?
Instâncias anteriores à 1.16.4.91 suportam apenas atualizações no local. Instâncias da versão 1.16.4.91 ou posterior suportam tanto atualizações no local quanto canary releases.
Após a atualização de uma instância do ASM, para qual versão o cluster ACK correspondente precisa ser atualizado?
Verifique a Compatibilidade de versões do ASM e ACK e atualize o cluster conforme necessário. Atualizar manualmente um cluster.
Documentos relacionados
Diagnostique o mesh em busca de problemas como incompatibilidades de versão de componentes, conflitos de porta de serviço e conflitos de serviço virtual. Usar diagnósticos de mesh do ASM.
A plataforma AIOps para contêineres fornece diagnóstico de falhas com um clique para nós, pods, Services, Ingress, memória e rede. Usar diagnósticos de cluster.
Últimas atualizações de recursos do ASM: Notas de versão.