Crie filtros Envoy com base em modelos para aplicar uma única configuração de filtro a múltiplas cargas de trabalho e namespaces no Service Mesh (ASM). Gerenciar filtros Envoy por meio de modelos aumenta a reutilização de configurações, mantém os filtros alinhados com a versão do mesh durante atualizações e reduz a complexidade e os riscos de erros da manutenção manual.
Pré-requisitos
Sua instância do ASM executa a versão 1.12.4.0 ou posterior. Para obter instruções sobre como atualizar uma instância do ASM, consulte Atualizar uma instância do ASM.
Modelos de filtro Envoy e filtros Envoy
Um modelo de filtro Envoy e um filtro Envoy formam um par de abstração e instanciação. O modelo atua como o projeto que especifica a configuração e os parâmetros necessários para criar um filtro Envoy funcional.
Modelo de filtro Envoy: estrutura de configuração predefinida que contém todas as regras e modelos de parâmetros necessários para criar um filtro Envoy. O modelo define como o tráfego que passa pelo proxy Envoy é processado, mas ele próprio não é aplicado ao tráfego.
Filtro Envoy: entidade de configuração criada a partir de um modelo e aplicada aos proxies Envoy em um service mesh para filtrar e processar o tráfego que passa pelos proxies. Um filtro Envoy é uma instância específica do modelo e aplica as regras e parâmetros desse modelo ao tráfego real do serviço.
Filtros Envoy apresentam riscos de compatibilidade de versão. Portanto, filtros criados manualmente dificultam as atualizações e a manutenção do mesh. A partir da versão 1.12.4.0 do ASM, você pode criar filtros Envoy gerenciando modelos de filtro Envoy. Quando a instância do Service Mesh é atualizada, o modelo de filtro Envoy cria ou altera automaticamente os filtros Envoy correspondentes com base na versão adaptada. Isso controla os riscos de compatibilidade de versão dos filtros Envoy e facilita seu uso.
A vinculação instancia o modelo. O ASM cria automaticamente o filtro Envoy correspondente para cada carga de trabalho ou namespace vinculado, permitindo associar um único modelo de filtro Envoy a várias cargas de trabalho e namespaces e gerar múltiplos filtros a partir dele.
Etapa 1: Criar um modelo de filtro Envoy
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 exibida, clique em Create EnvoyFilter Template.
Na página Create, na seção Basic Information, insira um nome para o modelo de filtro Envoy.
-
Na seção Multi-version adapted EnvoyFilter templates, clique em Add an EnvoyFilter template for specific adapted istio version., selecione uma Adapted istio version, insira o conteúdo do filtro Envoy adaptado a essa versão e clique em Create.
Se sua instância do ASM executar a versão 1.18.0.146 ou posterior, as opções No Minimum Version Limit e No Maximum Version Limit estarão selecionadas por padrão na seção Adapted istio version. Para personalizar o intervalo de versões do Istio, desmarque No Minimum Version Limit ou No Maximum Version Limit e insira a versão personalizada.
Para exemplos de configuração e descrições de campos de filtros Envoy, consulte Filtro Envoy.
Verifique se o novo modelo de filtro Envoy aparece na página EnvoyFilter Template.
Etapa 2: Vincular um modelo de filtro Envoy a uma carga de trabalho ou namespace
Vincule o modelo de filtro Envoy a uma carga de trabalho ou a um namespace para que o filtro tenha efeito apenas nessa carga de trabalho ou nesse namespace. Antes de começar, tome duas decisões:
Escopo da vinculação: vincule uma carga de trabalho quando o filtro Envoy precisar ter efeito apenas nessa carga específica. Vincule um namespace quando o filtro precisar ter efeito em todo o namespace. A vinculação do namespace
istio-systemfaz com que o filtro Envoy tenha efeito globalmente.Versão da instância do ASM: o ponto de entrada no console para vinculação difere entre instâncias anteriores à versão 1.18.0.146 e instâncias 1.18.0.146 ou posteriores. Verifique a versão da sua instância do ASM e siga o procedimento correspondente.
Versões da instância do ASM anteriores a 1.18.0.146
Vincular um modelo de filtro Envoy a uma carga de trabalho
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 EnvoyFilter Template, localize o modelo de filtro Envoy que deseja vincular e clique em Edit template na coluna Actions.
Na página Edit EnvoyFilter Template, clique em aba Bind template to workloads e, em seguida, clique em Bind EnvoyFilter to Workloads.
-
Na caixa de diálogo Bind EnvoyFilter to Workloads, selecione um Namespaces e um Workload Type, clique em Bind à direita da carga de trabalho que deseja vincular na seção Not bound e clique em OK.
Verifique se o filtro Envoy foi criado. No painel de navegação à esquerda da página de detalhes do mesh, escolha Plugin Extension Center > EnvoyFilter. O filtro Envoy criado automaticamente aparecerá na página EnvoyFilter.
Vincular um modelo de filtro Envoy a um namespace
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 EnvoyFilter Template, localize o modelo de filtro Envoy que deseja vincular e clique em Edit template na coluna Actions.
Na página Edit EnvoyFilter Template, clique em aba Bind template to workloads e, em seguida, clique em Bind namespace.
-
Na seção Not bound da caixa de diálogo Bind namespace, clique em nome do namespace que deseja vincular e clique em OK.
AvisoSe você vincular o namespace
istio-system, o filtro Envoy terá efeito globalmente e todas as outras vinculações criadas serão desvinculadas automaticamente. Confirme se deseja vincular oistio-systemantes de prosseguir. Verifique se o filtro Envoy foi criado. No painel de navegação à esquerda da página de detalhes do mesh, escolha Plugin Extension Center > EnvoyFilter. O filtro Envoy criado automaticamente aparecerá na página EnvoyFilter.
Versões da instância do ASM 1.18.0.146 ou posteriores
Vincular um modelo de filtro Envoy a uma carga de trabalho
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 EnvoyFilter Template, localize o modelo de filtro Envoy que deseja vincular e clique em Edit template na coluna Actions.
-
Na parte inferior da página Edit EnvoyFilter Template, visualize a seção Bind template to workloads.
Caso a página exiba a mensagem The EnvoyFilter template has adapted this version, but the correspond EnvoyFilters has not been created., clique em Create à direita.
-
Na seção Bind template to workloads, clique em Bind EnvoyFilter to Workloads. Na caixa de diálogo Bind EnvoyFilter to Workloads, selecione um Namespaces e um Workload Type. Na coluna Actions da seção Not bound, clique em Bind para a carga de trabalho que deseja vincular e clique em OK.
Verifique se o filtro Envoy foi criado. No painel de navegação à esquerda da página de detalhes do mesh, escolha Plugin Extension Center > EnvoyFilter. O filtro Envoy criado automaticamente aparecerá na página EnvoyFilter.
Vincular um modelo de filtro Envoy a um namespace
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 EnvoyFilter Template, localize o modelo de filtro Envoy que deseja vincular e clique em Edit template na coluna Actions.
-
Na parte inferior da página Edit EnvoyFilter Template, visualize a seção Bind template to workloads.
Caso a página exiba a mensagem The EnvoyFilter template has adapted this version, but the correspond EnvoyFilters has not been created., clique em Create à direita.
-
Na seção Bind template to workloads, clique em Bind namespace. Na seção Not bound da caixa de diálogo Bind namespace, clique em nome do namespace que deseja vincular e clique em OK.
AvisoSe você vincular o namespace
istio-system, o filtro Envoy terá efeito globalmente e todas as outras vinculações criadas serão desvinculadas automaticamente. Confirme se deseja vincular oistio-systemantes de prosseguir. Verifique se o filtro Envoy foi criado. No painel de navegação à esquerda da página de detalhes do mesh, escolha Plugin Extension Center > EnvoyFilter. O filtro Envoy criado automaticamente aparecerá na página EnvoyFilter.