Proxies de destino para o Cloud Service Mesh
Este documento se aplica apenas ao Cloud Service Mesh com as APIs de balanceamento de carga. Qa é altamente recomendável usar APIs de roteamento de serviço para implantar o Cloud Service Mesh.
Ao configurar o Cloud Service Mesh, um dos recursos que você configura é o proxy de destino. No contexto do Cloud Service Mesh, os proxies de destino servem a dois propósitos principais:
Definir o protocolo que os clientes do Cloud Service Mesh usam quando abrem uma conexão com os back-ends ou endpoints associados a um serviço.
Trabalhar com regras de encaminhamento e mapas de URL para criar um mapa de regras de roteamento O mapa de regras de roteamento fornece recursos adicionais, como regras de roteamento, dependendo do tipo de proxy de destino. As seleções inválidas ficam ocultas na interface do usuário ou são rejeitadas pela API.
Tipos de proxy de destino e protocolos de solicitação
O Cloud Service Mesh gera configurações diferentes para os clientes com base no tipo de proxy de destino que você configura. Ao configurar um destino tipo de proxy, o cliente do Cloud Service Mesh usa um protocolo de solicitação específico.
Proxy de destino | Protocolo de solicitação |
---|---|
HTTPS | Clientes iniciam conexões HTTPS |
HTTP | Clientes iniciam conexões HTTP |
gRPC | Clientes iniciam conexões gRPC |
TCP | Clientes iniciam conexões TCP |
Você não precisa selecionar apenas um tipo. Por exemplo, o aplicativo pode usar HTTP ao abordar alguns serviços, mas usar TCP para outros serviços. Para esse caso de uso, você precisaria criar um proxy HTTP de destino e um proxy TCP de destino.
Combinações de recursos válidas em um mapa de regras de roteamento
Para evitar configurações incorretas, o Cloud Service Mesh só permite criar regras de roteamento mapas que se parecem com o seguinte:
- Regra de encaminhamento > proxy HTTPS de destino global > Mapa de URL > um ou mais serviços de back-end
- Regra de encaminhamento > proxy HTTP de destino global > Mapa de URL > um ou mais serviços de back-end
- Regra de encaminhamento > proxy gRPC de destino global > Mapa de URL > um ou mais serviços de back-end
- Regra de encaminhamento > proxy TCP de destino global > um serviço de back-end
Se você estiver usando o console do Google Cloud para configurar um proxy HTTP de destino, esse proxy será definido implicitamente como parte da configuração do mapa de regras de roteamento. A configuração do proxy TCP ainda não é compatível com o Console do Google Cloud.
Se você estiver usando a CLI do Google Cloud ou as APIs, será necessário configurar explicitamente o proxy de destino.
Processamento de tráfego
As seções a seguir descrevem maneiras de lidar com o tráfego dependendo do tipo de proxy de destino que você usa.
Como usar um proxy HTTP ou HTTPS de destino
Quando você configura serviços baseados em HTTP ou HTTPS, cada instância de serviço geralmente tem um proxy Envoy implantado com ela. O Cloud Service Mesh configura esse proxy Envoy. Ele faz parte do seu plano de dados da malha de serviço e lida com o tráfego da maneira a seguir.
O proxy Envoy recebe a solicitação de saída. Em seguida, ele compara o endereço IP de destino da solicitação e a porta com o endereço IP e a porta configurados em cada regra de encaminhamento que se refere a um proxy HTTP ou HTTPS de destino. Se uma correspondência for encontrada, o proxy Envoy avaliará a solicitação de acordo com o mapa de URL correspondente do proxy de destino.
Como usar um proxy TCP de destino
Quando você configura serviços baseados em TCP, cada instância de serviço geralmente tem um proxy Envoy implantado junto com ela. O Cloud Service Mesh configura esse proxy Envoy. Ele faz parte do seu plano de dados da malha de serviço e lida com o tráfego da maneira a seguir.
O proxy Envoy recebe a solicitação de saída. Em seguida, ele compara o endereço IP de destino da solicitação e a porta com o endereço IP e a porta configurados em cada regra de encaminhamento que se refere a um proxy TCP. Cada regra de encaminhamento direciona o tráfego TCP para um proxy de destino que aponta para um serviço de back-end padrão. O serviço de back-end especifica uma verificação de integridade e determina o back-end apropriado.
Como usar um proxy gRPC de destino
Quando você configura serviços baseados em gRPC, geralmente suas instâncias de serviço não têm proxies Envoy. Em vez disso, o Cloud Service Mesh configura a biblioteca gRPC. A biblioteca faz parte do plano de dados da malha de serviço e processa o tráfego da seguinte maneira:
A biblioteca gRPC compara o hostname[:port]
especificado no URI com as regras de host
em todos os mapas de URL aos quais um proxy gRPC de destino faz referência. Se uma correspondência for encontrada, a biblioteca gRPC avalia a solicitação de acordo com as regras de caminho associadas à regra de host correspondente.
Recursos de proxy de destino
Para adicionar, excluir, listar e receber informações sobre proxies de destino, use a API REST ou a CLI gcloud.
Além disso, para receber informações sobre um proxy de destino, use os comandos
gcloud
a seguir:
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 descrições das propriedades e dos métodos disponíveis ao trabalhar com proxies de destino por meio do API REST, consulte as recursos compatíveis com o Cloud Service Mesh:
CLI gcloud
Para a CLI do Google Cloud, consulte os seguintes recursos:
A seguir
- Para saber mais sobre o Cloud Service Mesh, consulte a Visão geral do Cloud Service Mesh.
- Para implantar o Cloud Service Mesh, consulte a documentação do guia de implantação do Cloud Service Mesh.