Proxies de destino para o Cloud Service Mesh
Este documento aplica-se apenas ao Cloud Service Mesh com as APIs de equilíbrio de carga. Recomendamos vivamente que use as APIs de encaminhamento de serviços para implementar a Cloud Service Mesh.
Quando configura a Cloud Service Mesh, um dos recursos que configura é o proxy de destino. No contexto do Cloud Service Mesh, os proxies de destino têm dois objetivos principais:
Definir o protocolo que os clientes do Cloud Service Mesh usam quando abrem uma ligação aos back-ends ou pontos finais associados a um serviço.
Trabalhar com regras de encaminhamento e mapas de URLs para criar um mapa de regras de encaminhamento. O mapa de regras de encaminhamento oferece capacidades adicionais, como regras de encaminhamento, dependendo do tipo de proxy de destino. As seleções inválidas estão ocultas na interface do utilizador ou são rejeitadas pela API.
Segmente tipos de proxies e protocolos de pedidos
O Cloud Service Mesh gera diferentes configurações para os respetivos clientes com base no tipo de proxy de destino que configurar. Quando configura um tipo de proxy de destino, o cliente do Cloud Service Mesh usa um protocolo de pedido específico.
Proxy de destino | Protocolo de pedido |
---|---|
HTTPS | Os clientes iniciam ligações HTTPS |
HTTP | Os clientes iniciam ligações HTTP |
gRPC | Os clientes iniciam ligações gRPC |
TCP | Os clientes iniciam ligações TCP |
Não tem de escolher apenas um tipo. Por exemplo, a sua aplicação pode querer usar HTTP ao dirigir-se a alguns serviços, mas usar TCP ao dirigir-se a outros serviços. Para este exemplo de utilização, tem de criar um proxy HTTP de destino e um proxy TCP de destino.
Combinações de recursos válidas num mapa de regras de encaminhamento
Para evitar configurações incorretas, o Cloud Service Mesh só permite criar mapeamentos de regras de encaminhamento com o seguinte aspeto:
- Regra de encaminhamento > proxy HTTPS de destino global > mapa de URLs > um ou mais serviços de back-end
- Regra de encaminhamento > proxy HTTP de destino global > mapa de URLs > um ou mais serviços de back-end
- Regra de encaminhamento > proxy gRPC de destino global > mapa de URLs > um ou mais serviços de back-end
- Regra de encaminhamento > proxy TCP de destino global > um serviço de back-end
Se estiver a usar a Google Cloud consola para configurar um proxy HTTP de destino, o proxy de destino é configurado implicitamente como parte da configuração do mapa de regras de encaminhamento. A configuração do proxy TCP ainda não é suportada na consola doGoogle Cloud .
Se estiver a usar a CLI Google Cloud ou as APIs, tem de configurar o proxy de destino explicitamente.
Processamento de tráfego
As secções seguintes descrevem formas de processar o tráfego consoante o tipo de proxy de destino que usa.
Usar um proxy HTTP ou HTTPS de destino
Quando configura serviços baseados em HTTP ou HTTPS, cada instância de serviço tem geralmente um proxy do Envoy implementado juntamente com a mesma. O Cloud Service Mesh configura este proxy Envoy. Faz parte do plano de dados da malha de serviços e processa o tráfego da seguinte forma.
O proxy Envoy recebe o pedido de saída. Em seguida, compara o endereço IP e a porta de destino do pedido com o endereço IP e a porta configurados em cada regra de encaminhamento que faz referência a um proxy HTTP ou HTTPS de destino. Se for encontrada uma correspondência, o proxy Envoy avalia o pedido de acordo com o mapa de URLs correspondente do proxy de destino.
Usar um proxy TCP de destino
Quando configura serviços baseados em TCP, cada instância de serviço tem geralmente um proxy Envoy implementado juntamente com ela. O Cloud Service Mesh configura este proxy Envoy. Faz parte do plano de dados da malha de serviços e processa o tráfego da seguinte forma.
O proxy Envoy recebe o pedido de saída. Em seguida, compara o endereço IP e a porta de destino do pedido com o endereço IP e a porta configurados em cada regra de encaminhamento que faz referência a um proxy TCP de destino. Cada regra de encaminhamento encaminha o tráfego TCP para um proxy de destino que aponta para um serviço de back-end predefinido. O serviço de back-end especifica uma verificação de funcionamento e determina o back-end adequado.
Usar um proxy gRPC de destino
Quando configura serviços baseados em gRPC, as instâncias de serviço geralmente não têm proxies do Envoy implementados juntamente com elas. Em alternativa, o Cloud Service Mesh configura a biblioteca gRPC. A biblioteca faz parte do plano de dados da malha de serviços e processa o tráfego da seguinte forma.
A biblioteca gRPC compara o hostname[:port]
especificado no URI com as regras de anfitrião em todos os mapas de URLs aos quais um proxy gRPC de destino faz referência. Se for encontrada uma correspondência, a biblioteca gRPC avalia o pedido de acordo com as regras de caminho associadas à regra de anfitrião correspondente.
Recursos de proxy de destino
Para adicionar, eliminar, listar e obter informações sobre proxies de destino, pode usar a API REST ou a CLI gcloud.
Além disso, para obter informações sobre um proxy de destino, pode usar os seguintes comandos gcloud
:
gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies] list
gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies] describe TARGET_PROXY_NAME
APIs
Para ver descrições das propriedades e dos métodos disponíveis quando trabalha com proxies de destino através da API REST, consulte os seguintes recursos suportados pela Cloud Service Mesh:
CLI gcloud
Para a CLI do Google Cloud, consulte os seguintes recursos:
O que se segue?
- Para saber mais sobre a Cloud Service Mesh, consulte a vista geral da Cloud Service Mesh.
- Para implementar o Cloud Service Mesh, consulte a documentação do guia de implementação do Cloud Service Mesh.