Por padrão, cada proxy sidecar em um mesh recebe a configuração completa de todos os serviços no plano de dados. Isso aumenta o uso de memória em cada proxy e gera pushes desnecessários do plano de controle sempre que o plano de controle ou o plano de dados é modificado — mesmo para serviços que uma carga de trabalho nunca chama.
O Service Mesh (ASM) resolve esse problema analisando os logs de acesso gerados pelos proxies sidecar para descobrir quais serviços cada carga de trabalho realmente chama. Em seguida, o ASM recomenda um resource Sidecar com escopo definido para cada carga de trabalho. Após aplicar um sidecar com escopo:
O proxy mantém apenas a configuração dos serviços dos quais a carga de trabalho depende.
O plano de controle ignora o envio de atualizações quando serviços não relacionados ou seus resources associados (como virtual services) são alterados.
Pré-requisitos
Antes de começar, verifique se você tem:
Uma instância do ASM. Consulte Criar uma instância do ASM
Um cluster gerenciado do Container Service for Kubernetes (ACK). Consulte Criar um cluster gerenciado do ACK
O cluster do ACK adicionado à instância do ASM. Consulte Adicionar um cluster a uma instância do ASM
Um gateway de entrada implantado. Consulte Criar um gateway de entrada
Uma aplicação implantada na instância do ASM. Consulte Implantar uma aplicação em uma instância do ASM
O Log Service configurado para coletar logs de acesso do plano de dados. Consulte Usar o Log Service para coletar logs de acesso no plano de dados
Observações de uso
|
Observação |
Detalhes |
|
Seleção de projeto do Log Service |
Se você selecionou Use Default para o projeto do Log Service ao ativar a coleta de logs de acesso, o ASM usa o projeto do Log Service do primeiro cluster adicionado à instância do ASM para gerar recomendações. |
|
Escopo por carga de trabalho |
As recomendações são geradas por carga de trabalho, o que simplifica ao máximo a configuração do sidecar no plano de dados. Configure cada carga de trabalho individualmente. |
|
Dados de chamada incompletos |
Caso uma carga de trabalho não tenha registros de chamadas nos logs de acesso, o sidecar recomendado pode ser impreciso. Verifique-o manualmente antes de aplicar. |
Etapa 1: Gerar logs de acesso
Abra um navegador e acesse http://{IP address of the ingress gateway service}/productpage. Atualize a página da aplicação Bookinfo várias vezes até que as classificações por estrelas alternem entre preto e vermelho. Essa ação gera os dados de log de acesso que o ASM utiliza para analisar as dependências de serviço.
Etapa 2: Gerar e aplicar uma recomendação de sidecar
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 sua instância do ASM.
No painel de navegação à esquerda da instância, escolha Mesh Optimization Center > Inbound and Outbound Traffic Configuration (Sidecar Object).
Localize a carga de trabalho desejada e clique em Recommend na coluna Actions. Aguarde até que a coluna Recommendation status exiba Recommendation complete.
Clique em View na coluna Actions para abrir o painel Recommended Sidecar.
No painel Recommended Sidecar, verifique se o campo hosts no YAML do Sidecar inclui todos os serviços que a carga de trabalho chama. Se algum serviço necessário estiver ausente em hosts, adicione-o ao YAML antes de prosseguir.
Clique em OK para aplicar a configuração do sidecar.
(Opcional) Gerar nova recomendação após alterações de dependência
Conforme as aplicações evoluem, as dependências de serviço mudam e os sidecars recomendados anteriormente podem não refletir mais os padrões reais de chamadas. Para atualizar uma recomendação de sidecar, colete novos logs de acesso e gere uma nova recomendação:
Faça login no console do ASM.
No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.
Clique em nome da sua instância do ASM e escolha Mesh Optimization Center > Inbound and Outbound Traffic Configuration (Sidecar Object).
Localize a carga de trabalho desejada e clique em Recollecting Access Logs na coluna Actions.
Na mensagem Recollecting Access Logs, clique em OK. O sidecar existente é excluído e a coluna Recommendation status muda para Recollecting access logs.
Gere novos logs de acesso repetindo a Etapa 1.
Gere uma nova recomendação repetindo a Etapa 2.