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:
- Para proxies sidecar do Envoy implantados automaticamente com VMs, consulte Opções para configuração da VM com implantação automatizada do Envoy para os equivalentes de parâmetro ao criar um modelo de instância.
- Para proxies sidecar do Envoy implantados automaticamente com os pods do GKE, adicione os
parâmetros compatíveis abaixo ao
proxyMetadata
noConfigMap
do injetor sidecar. Para mais informações sobre como configurar os atributos obrigatórios, consulte Configurar os pods do Google Kubernetes Engine com injeção automatizada do Envoy. - Para implantações manuais do Envoy, adicione os parâmetros compatíveis abaixo à configuração de metadados do nó de inicialização do proxy.
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"