Configurar atributos de inicialização do Envoy

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

  • Onde encontrar o Cloud Service Mesh (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 aborda como fornecer informações de bootstrapping ao usar o Envoy com o Cloud Service Mesh. O método usado para fornecer a configuração de inicialização varia de acordo com a maneira como você implanta os serviços:

Somente xDS v3 é compatível. Se você estiver usando o xDS v2, migre para o xDS v3 usando o for Migrate from xDS v2 to xDS v3.

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. Com a API xDS v3, é necessário fornecer o nome da rede.

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 Cloud Service Mesh 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. Com API xDS v3, será preciso fornecer o número do projeto.

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 Cloud Service Mesh precisa ser redirecionado para essa porta.

Se esse valor for deixado em branco, o listener de interceptação não será configurado pelo Cloud Service Mesh. 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 Cloud Service Mesh 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 pelo Cloud Service Mesh e generate_request_id será definido como "true".

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"