Regras de encaminhamento para a 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.

O Cloud Service Mesh usa a regra de encaminhamento para determinar o proxy de destino para o qual o tráfego na malha é encaminhado.

Cada regra de encaminhamento fornece um único endereço IPv4 global para um serviço. Pode usar esse endereço para criar registos DNS internos para o seu serviço (por exemplo, usando uma zona privada gerida pelo Cloud DNS). Os filtros de metadados na regra de encaminhamento especificam os critérios para os quais um proxy sidecar compatível com xDS recebe a configuração.

Para o plano de controlo da malha de serviço na nuvem, a regra de encaminhamento interna, autogerida e global encaminha o tráfego por endereço IP, porta e protocolo para um proxy de destino. O proxy de destino aponta para um mapa de URLs que contém regras que determinam o destino do tráfego. O mapa de URLs também especifica o serviço de back-end predefinido. Este serviço de back-end especifica uma verificação de estado e determina o back-end adequado, como um grupo de instâncias geridas (GIG) que contém instâncias de máquinas virtuais (VMs) ou um grupo de pontos finais de rede (NEG) que contém pods de back-end do Google Kubernetes Engine (GKE).

O diagrama seguinte mostra como uma regra de encaminhamento se enquadra na arquitetura do Cloud Service Mesh.

Regra de encaminhamento do Cloud Service Mesh realçada.
Regra de encaminhamento da Cloud Service Mesh realçada (clique para aumentar)

Propriedades das regras de encaminhamento

Um recurso de regra de encaminhamento contém as seguintes propriedades que se aplicam ao Cloud Service Mesh. A regra de encaminhamento processa o tráfego que corresponde ao endereço IP de destino, ao protocolo e ao número da porta.

Um endereço IP 0.0.0.0 numa regra de encaminhamento é uma das opções quando usa a Cloud Service Mesh. Um endereço IP 0.0.0.0 significa qualquer endereço IP.

  • Com uma implementação de proxy, um endereço IP 0.0.0.0 permite que um proxy corresponda a qualquer tráfego recebido se não for encontrada outra correspondência específica.

  • Com uma implementação sem proxy, um endereço IP 0.0.0.0 oferece uma forma de especificar que não é necessário um endereço IP. Seguem-se mais detalhes sobre a utilização de 0.0.0.0 endereços IP com um proxy gRPC de destino.

A tabela seguinte descreve as propriedades das regras de encaminhamento mais detalhadamente.

Propriedade Obrigatória Descrição
name

O nome da regra de encaminhamento.

O nome tem de ser exclusivo neste projeto, ter entre 1 e 63 carateres e corresponder à expressão regular: [a-z]([-a-z0-9]*[a-z0-9])?

Isto significa que o primeiro caráter tem de ser uma letra minúscula e todos os carateres seguintes têm de ser um traço, uma letra minúscula ou um dígito, exceto o último caráter, que não pode ser um traço.

IPAddress

Uma das seguintes opções: 0.0.0.0 ou 127.0.0.1, ou qualquer endereço RFC 1918.

Os endereços IP das regras de encaminhamento da Cloud Service Mesh não têm de corresponder a intervalos de endereços IP de sub-redes na rede da nuvem virtual privada (VPC). Para uma determinada rede VPC, endereço IP e porta, só pode ter uma regra de encaminhamento interna autogerida.

Por exemplo, na mesma rede VPC, não pode criar duas regras de encaminhamento que usem o endereço IP 0.0.0.0 e a porta 80.

IPAddress com um proxy gRPC de destino

Uma regra de encaminhamento que faz referência a um proxy gRPC de destino com o campo validateForProxyless definido como TRUE e o respetivo endereço IP definido como 0.0.0.0.

Um cliente gRPC que usa o esquema xds não realiza a procura de DNS para resolver o nome de anfitrião no URI do canal. Em alternativa, esse cliente resolve o hostname[:port] no URI de destino enviando um pedido Listener discovery service (LDS) para a Cloud Service Mesh. Não existe nenhuma pesquisa de DNS envolvida e não é necessária uma entrada de DNS para o nome do anfitrião.

Como resultado, o Cloud Service Mesh usa o 0.0.0.0endereço IP e a porta (predefinição: 80) especificados no URI para procurar a regra de encaminhamento. Em seguida, o Cloud Service Mesh procura uma regra de anfitrião correspondente no mapa de URLs do proxy de destino referenciado pela regra de encaminhamento.

target

O proxy de destino para o qual esta regra de encaminhamento direciona o tráfego. O Cloud Service Mesh suporta target-http-proxy, target-https-proxy e target-grpc-proxy.

Quando usa a Google Cloud consola para configurar a regra de encaminhamento, o proxy de destino é configurado automaticamente. Quando usa a CLI do Google Cloud ou a API, o proxy de destino tem de existir antes de criar a regra de encaminhamento. Pode usar mais do que uma regra de encaminhamento com um determinado proxy.

IPProtocol O tipo de protocolo com o qual esta regra de encaminhamento corresponde. O único valor suportado é TCP.
loadBalancingScheme Especifica como a regra de encaminhamento é usada. O valor válido para Cloud Service Mesh é INTERNAL_SELF_MANAGED.
portRange

Uma porta ou um intervalo de portas unidos por um travessão.

Os pacotes do protocolo especificado enviados para estas portas são encaminhados para o back-end adequado. Pode especificar um único número de um intervalo, por exemplo, 80 ou 80-8080.

Para uma determinada rede VPC, endereço IP e porta, só pode ter uma regra de encaminhamento interno autogerida. Por exemplo, na mesma rede VPC, não pode criar duas regras de encaminhamento que usem o endereço IP 0.0.0.0 e a porta 80.

Com os serviços gRPC sem proxy, a porta na regra de encaminhamento é correspondida com a porta especificada no URI que uma aplicação gRPC usa para se ligar a um serviço. Se não for especificada uma porta no URI, a porta predefinida é 80.

network

Especifica a rede de VPC onde se encontram as VMs que executam proxies Envoy. Google Cloud

Os proxies Envoy leem a configuração do Cloud Service Mesh que define para a mesma rede onde os proxies estão implementados. Pode usar a rede VPC denominada default ou uma rede personalizada.

O Cloud Service Mesh suporta o equilíbrio de carga para clientes apenas na rede Google Cloud . Especifica o nome da rede na regra de encaminhamento. O intercâmbio da rede da VPC não é suportado.

Adicione uma regra de encaminhamento global

Para saber como configurar uma regra de encaminhamento na configuração geral do Cloud Service Mesh com as APIs de equilíbrio de carga, consulte o seguinte:

O que se segue?