APIs do plano de controlo xDS

O Cloud Service Mesh e os respetivos clientes (proxies Envoy ou bibliotecas gRPC sem proxy) usam a API xDS de código aberto para trocar informações. Quando configura a Cloud Service Mesh, por exemplo, através de recursos como regras de encaminhamento e serviços de back-end, a Cloud Service Mesh converte estes recursos numa configuração xDS, que partilha com os respetivos clientes.

Suporte para versões do xDS

O Cloud Service Mesh suporta apenas o xDS v3.

Para determinar que versões do Envoy e do gRPC suportam o xDS v3, consulte a documentação do Envoy e do gRPC.

Se ainda estiver a usar o xDS v2, siga as instruções abaixo para migrar para o xDS v3.

Migre do xDS v2 para o xDS v3

Existem dois passos no processo de migração:

  1. Atualize as autorizações da gestão de identidade e de acesso (IAM) concedidas à conta de serviço que os seus clientes (proxies do Envoy ou bibliotecas gRPC sem proxy) usam quando se ligam à Cloud Service Mesh.
  2. Atualize e volte a implementar as suas aplicações. Os passos específicos variam consoante a sua implementação e são explicados nas secções seguintes.

Atualize as autorizações IAM da conta de serviço

Certifique-se de que a conta de serviço usada pelos clientes da Cloud Service Mesh (Envoy, gRPC sem proxy) tem as autorizações trafficdirector.networks.reportMetrics e trafficdirector.networks.getConfigs. Estas autorizações estão incluídas na função de cliente do Cloud Service Mesh do IAM (roles/trafficdirector.client).

Se estiver a usar uma função de IAM personalizada, pode adicionar estas autorizações à função personalizada. Depois de adicionar as autorizações, pode remover a função Compute Network Viewer (roles/compute.networkViewer), a função Compute Network Admin (roles/compute.networkAdmin) ou ambas da conta de serviço.

Recomendamos que use a função de cliente do Cloud Service Mesh em vez da função de leitor de rede de computação (roles/compute.networkViewer) ou da função de administrador de rede de computação (roles/compute.networkAdmin). A utilização da função de cliente do Cloud Service Mesh restringe as autorizações concedidas à conta de serviço e evita a concessão de autorizações excessivamente amplas.

Atualize as suas aplicações

Depois de atualizar as autorizações da IAM na conta de serviço, atualize as suas aplicações.

Envoy no Compute Engine

Para atualizar as suas aplicações no Envoy com o Compute Engine, faça um reinício ou uma substituição contínuos dos grupos de instâncias geridos. É adicionada automaticamente uma versão do Envoy que suporta o xDS v3 às suas instâncias de máquinas virtuais (VM).

Envoy no GKE

Se usar a injeção automática do Envoy com o Google Kubernetes Engine (GKE), reinstale o injetor de sidecar nos clusters do GKE que está a usar com o Cloud Service Mesh. Quando é criado um novo Pod, é injetado automaticamente um proxy sidecar do Envoy que suporta o xDS v3 juntamente com o Pod de carga de trabalho.

Se usar a injeção manual de sidecar no GKE, volte a implementar o proxy sidecar em cada um dos seus clusters do GKE.

gRPC sem proxy

Existem dois passos no processo de migração:

  1. Certifique-se de que a versão do gRPC que usa suporta o xDS v3. Para mais informações, consulte o artigo Funcionalidades xDS no gRPC.

  2. Atualize a configuração de arranque através dos seguintes passos:

    1. No campo "xds_servers", adicione "server_features": ["xds_v3"], conforme mostrado neste exemplo de ficheiro de arranque.
    2. O ID do nó tem de estar no seguinte formato, conforme mostrado no exemplo anterior:

      "projects/PROJECT_NUMBER/networks/NETWORK_NAME/nodes/ID"
      

Depois de fazer as alterações anteriores à sua aplicação, crie-a e implemente-a novamente.

As alterações anteriores à configuração de arranque não afetam as versões gRPC que não suportam o xDS v3. Além disso, se as alterações anteriores não estiverem presentes na configuração de arranque, as versões gRPC que suportam o xDS v3 usam o xDS v2.

Para sua conveniência, pode usar a versão 0.16.0 do gerador de arranque gRPC do Cloud Service Mesh ou posterior para gerar uma configuração de arranque compatível com xDS v3.

Verifique se os clientes do Cloud Service Mesh estão a usar o xDS v3

Para inspecionar a configuração que o Cloud Service Mesh gera para os respetivos clientes, pode usar a ferramenta de estado do cliente. Esta ferramenta indica se a configuração é xDS v2 ou xDS v3.

O que se segue?