Se uma alteração de configuração em um recurso do Istio causar problemas na sua service mesh, reverta o recurso para uma versão estável conhecida diretamente no console do ASM. O Service Mesh (ASM) rastreia automaticamente o histórico de versões sempre que a seção spec de um recurso do Istio é atualizada e mantém até cinco versões recentes por recurso.
O tutorial a seguir usa um VirtualService como exemplo. Os mesmos passos se aplicam a todos os tipos de recursos do Istio: virtual services, destination rules, Istio gateways, service entries, Envoy filters, workload groups, workload entries, sidecar resources, request authentication policies, peer authentication policies e authorization policies.
Como funciona o rastreamento de versões
O ASM registra um snapshot da seção spec antes de cada atualização.
|
Comportamento |
Detalhes |
|
Gatilho |
Apenas alterações nos campos da seção |
|
Limite de armazenamento |
O ASM retém até cinco versões por recurso. Na sexta atualização, a versão mais antiga é descartada. |
|
Método de atualização |
O registro de versões ocorre independentemente do método de atualização do recurso, não apenas pelo console do ASM. |
|
Campos redundantes |
Campos com valores padrão podem ser omitidos nas versões armazenadas. Por exemplo, se |
Pré-requisitos
Antes de começar, verifique se você tem:
Uma instância do ASM executando a versão 1.9.7.92 ou posterior. Para obter mais informações, consulte Criar uma instância do ASM ou Atualizar uma instância do ASM
Um virtual service criado. Para obter mais informações, consulte Gerenciar virtual services
Etapa 1: Ativar o controle de versão para recursos do Istio
Ative o controle de versão antes que o ASM comece a rastrear as versões dos recursos. Você pode ativá-lo durante a criação da instância ou em uma instância existente.
Para uma nova instância do ASM: Selecione Enable Istio custom resource version control durante o assistente de criação.
Para uma instância existente do ASM:
Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.
Na página Mesh Management, clique em nome da instância do ASM. No painel de navegação à esquerda, escolha ASM Instance > Base Information.
Na página Base Information, clique em Settings. No painel Settings Update, selecione Enable Istio custom resource version control e clique em OK.
Etapa 2: Atualizar o virtual service para gerar uma versão
Após ativar o controle de versão, cada atualização na seção spec cria uma nova entrada de versão.
O ASM registra versões apenas quando há alteração nos campos da seção spec. Atualizações em outros campos do recurso do Istio não geram entradas de versão.
Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.
Na página Mesh Management, clique em nome da instância do ASM. No painel de navegação à esquerda, escolha Traffic Management Center > VirtualService.
Na página VirtualService, localize o virtual service desejado e clique em YAML na coluna Actions.
Na caixa de diálogo Edit, modifique um campo na seção
spec. Por exemplo, altere o camponumberde9080para9081e clique em OK.
O ASM salva a configuração anterior à atualização como uma nova entrada de versão (por exemplo, v2).
Etapa 3: Reverter para uma versão anterior
Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.
Na página Mesh Management, clique em nome da instância do ASM. No painel de navegação à esquerda, escolha Traffic Management Center > VirtualService.
Na página VirtualService, localize o virtual service desejado e clique em Version na coluna Actions.
Na caixa de diálogo Version, localize a versão a restaurar (por exemplo, v2) e clique em View na coluna Actions para inspecionar a seção
specarmazenada. Confirme se esta é a versão correta e clique em Rollback.
Verificar a reversão
Após concluir a reversão, confirme se a configuração do recurso corresponde à versão esperada:
Na página VirtualService, localize o mesmo virtual service e clique em YAML na coluna Actions.
Na caixa de diálogo Edit, verifique se a seção
specreflete a versão revertida.
Perguntas frequentes
O botão Version não aparece para meu recurso do Istio
Duas condições são necessárias: a versão da instância do ASM deve ser 1.9.7.92 ou posterior e a opção Enable Istio custom resource version control deve estar ativada. Verifique ambos os itens em ASM Instance > Base Information > Settings.
As versões são registradas para atualizações feitas fora do console do ASM?
Sim. Após a ativação do controle de versão, o ASM rastreia alterações na seção spec independentemente do método usado para atualizar os recursos do Istio.
Quantas versões o ASM mantém?
O ASM armazena até cinco versões por recurso do Istio. Na sexta atualização de um recurso, a versão armazenada mais antiga é removida automaticamente.
Por que a versão armazenada difere do YAML completo no console?
As versões armazenadas omitem campos com valores padrão. Por exemplo, se servers.tls em um Istio gateway estiver definido com o valor padrão PASSTHROUGH, o ASM não o incluirá no snapshot da versão. Esse comportamento é esperado e não afeta os resultados da reversão.