APIs do plano de controle xDS
A malha de serviços do Cloud e seus clientes (proxies Envoy ou bibliotecas gRPC sem proxy) usam a API xDS de código aberto para trocar informações. Quando você configura o Cloud Service Mesh, por exemplo, usando recursos como regras de encaminhamento e serviços de back-end, ele converte esses recursos para uma configuração xDS, que é compartilhada com os clientes.
Compatibilidade com a versão xDS
O Cloud Service Mesh oferece suporte apenas ao xDS v3.
Para determinar quais versões do Envoy e do gRPC são compatíveis com o xDS v3, consulte a documentação do Envoy e do gRPC.
Se você ainda estiver usando o xDS v2, use as instruções a seguir para migrar para o xDS v3.
Migrar do xDS v2 para o xDS v3
Há duas etapas no processo de migração:
- Atualize as permissões do Identity and Access Management (IAM) concedidas à conta de serviço que os clientes (proxies Envoy ou bibliotecas gRPC sem proxy) usam ao se conectar à malha de serviço do Cloud.
- Atualize e reimplante os aplicativos. As etapas específicas variam de acordo com a implantação e são explicadas nas seções a seguir.
Atualizar as permissões de IAM da conta de serviço
Verifique se a conta de serviço usada pelos clientes do Cloud Service Mesh (Envoy e gRPC sem proxy) tem as permissões trafficdirector.networks.reportMetrics
e trafficdirector.networks.getConfigs
. Essas permissões estão
incluídas no papel de cliente da Cloud Service Mesh
do IAM (roles/trafficdirector.client
).
Se você estiver usando um papel
personalizado do IAM, é possível adicionar essas permissões ao papel personalizado. Depois de adicionar as permissões, é possível remover o papel de visualizador de rede do Compute (roles/compute.networkViewer
), o papel de administrador da rede do Compute (roles/compute.networkAdmin
) ou ambos da conta de serviço.
Recomendamos que você use o papel de cliente da malha de serviços do Cloud em vez de
o papel de Visualizador de rede do Compute (roles/compute.networkViewer
) ou o papel de
Administrador de rede do Compute (roles/compute.networkAdmin
). O uso do
papel de cliente da malha de serviços do Cloud restringe as permissões concedidas à
conta de serviço e evita conceder permissões excessivamente amplas.
Atualizar os aplicativos
Depois de atualizar as permissões do IAM na conta de serviço, atualize os aplicativos.
Envoy no Compute Engine
Para atualizar seus aplicativos no Envoy com o Compute Engine, faça uma reincialização ou substituição gradual dos grupos de instâncias gerenciadas. Uma versão do Envoy compatível com o xDS v3 é adicionada automaticamente às suas instâncias de máquina virtual (VM).
Envoy no GKE
Se você usa a injeção automática do Envoy com o Google Kubernetes Engine (GKE), reinstale o injetor sidecar nos clusters do GKE que você está usando com a Cloud Service Mesh. Quando um novo pod é criado, um proxy sidecar do Envoy compatível com xDS v3 é injetado automaticamente junto do pod da carga de trabalho.
Se você usa a injeção manual de sidecar no GKE, reimplante o proxy sidecar em cada um dos clusters do GKE.
Há duas etapas no processo de migração:
Verifique se a versão do gRPC que você usa é compatível com o xDS v3. Para mais informações, consulte Recursos xDS no gRPC.
Atualize a configuração de inicialização usando as seguintes etapas:
- No campo
"xds_servers"
, adicione"server_features": ["xds_v3"]
conforme mostrado neste exemplo de arquivo de inicialização. O ID do nó precisa estar no formato a seguir, conforme mostrado no exemplo anterior:
"projects/PROJECT_NUMBER/networks/NETWORK_NAME/nodes/ID"
- No campo
Depois de fazer as alterações anteriores no aplicativo, crie e implante-o novamente.
As alterações anteriores na configuração de inicialização não afetam as versões do gRPC que não são compatíveis com o xDS v3. Além disso, se as alterações anteriores não estiverem presentes na configuração de inicialização, as versões do gRPC compatíveis com o xDS v3 usarão o xDS v2.
Para sua conveniência, use o gerador de inicialização do gRPC da Cloud Service Mesh versão 0.16.0 ou mais recente para gerar uma configuração de inicialização compatível com xDS v3.
Verificar se os clientes do Cloud Service Mesh estão usando o xDS v3
Para inspecionar a configuração que o Cloud Service Mesh gera para os clientes, use a ferramenta de status do cliente. Essa ferramenta informa se a configuração é xDS v2 ou xDS v3.
A seguir
- Para encontrar informações gerais de solução de problemas do Cloud Service Mesh, consulte Resolver problemas de implantações do Envoy.
- Para resolver problemas de configuração ao implantar serviços gRPC sem proxy, consulte Resolver problemas em implantações do gRPC sem proxy.