Como configurar atributos de inicialização do Envoy para o Traffic Director

Quando os proxies do Envoy e as bibliotecas gRPC que alimentam a malha de serviço são inicializados, eles precisam se conectar ao Traffic Director e se tornar clientes do Traffic Director. Para estabelecer essa conexão, um cliente precisa ser inicializado com informações de configuração, por exemplo:

  • Onde encontrar o Traffic Director (trafficdirector.googleapis.com)
  • O nome da rede VPC que receberá a configuração do cliente
  • Outras informações opcionais, como o registro de ativação

Este documento explica como disponibilizar informações de inicialização ao usar o Envoy com o Traffic Director. O método usado para fornecer a configuração de inicialização varia de acordo com a maneira como você implanta os serviços:

Configuração de inicialização para implantações manuais do Envoy

A tabela a seguir contém todos os atributos de configuração de inicialização obrigatórios.

Atributo Valor Descrição
TRAFFICDIRECTOR_NETWORK_NAME Uma string. Por exemplo: padrão.

Nome da rede VPC do Google Cloud para a qual a configuração é solicitada. Esse é o nome da rede VPC referenciado na regra de encaminhamento na API do Google Cloud.

Se esse valor for deixado em branco, o Traffic Director tentará selecionar a configuração da rede VPC pela qual a solicitação do proxy sidecar para o trafficdirector.googleapis.com será enviada.

Não é recomendável deixar esse valor em branco. Não há garantia de que um valor vazio será compatível com versões futuras.

TRAFFICDIRECTOR_GCP_PROJECT_NUMBER Uma string de dígitos. Por exemplo, 123456789. O projeto do Google Cloud em que os recursos do Traffic Director são configurados. É o identificador numérico do projeto (por exemplo, 111222333444).

Para ver uma lista de todos os projetos com os números de projeto correspondentes, use o comando "gcloud projects list" ou revise a seção Informações do projeto no Console do Google Cloud.

Se deixado em branco, será feita uma tentativa de buscar a configuração do projeto do GCP associado às credenciais da conta de serviço.

Não é recomendável deixar esse valor em branco. Não há garantia de que um valor vazio será compatível com versões futuras.

Configuração de inicialização opcional para implantações manual do Envoy

A tabela a seguir contém todos os atributos de configuração de inicialização opcionais.

Atributo Valor Descrição
TRAFFICDIRECTOR_INTERCEPTION_PORT Um número inteiro no intervalo de 0 a 65535

Um número de porta para o listener de interceptação. O tráfego destinado aos serviços configurados no Traffic Director precisa ser redirecionado para essa porta.

Se esse valor for deixado em branco, o listener de interceptação não será configurado pelo Traffic Director. Se sua configuração depende da interceptação do tráfego de saída, a ausência do listener de interceptação interrompe o fluxo de tráfego. Esse campo não é obrigatório para casos de uso de proxy intermediário em que apenas o tráfego de entrada precisa ser interceptado.

TRAFFICDIRECTOR_ACCESS_LOG_PATH Um caminho para o arquivo de registro de acesso, representado como uma string. Por exemplo: "/var/log/sidecar/access.log" O valor desse parâmetro é usado como configuração de registro de acesso a arquivos, enviada a um proxy pelo Traffic Director com outros parâmetros. Todas as solicitações recebidas e enviadas são registradas nesse arquivo. Para mais informações, consulte a documentação Registro de acesso a arquivos do proxy do Envoy.
TRAFFICDIRECTOR_ENABLE_TRACING Booleano, representado como uma string por exemplo, true Permite que o proxy sidecar gere informações de rastreamento distribuídas. Se definido como true, os parâmetros de rastreamento do Envoy serão programados no proxy sidecar do Traffic Director e generate_request_id será definido como "verdadeiro".

Veja a seguir um exemplo em formato yaml de como configurar os atributos compatíveis na seção de metadados do nó da configuração de inicialização do proxy Envoy:

node:
  metadata:
    TRAFFICDIRECTOR_INTERCEPTION_PORT: "15001"
    TRAFFICDIRECTOR_NETWORK_NAME: "default"
    TRAFFICDIRECTOR_GCP_PROJECT_NUMBER: "111222333444"
    TRAFFICDIRECTOR_ACCESS_LOG_PATH: "/tmp/sidecar/access.log"
    TRAFFICDIRECTOR_ENABLE_TRACING: "true"