Envoy ブートストラップ属性を構成する

サービス メッシュを強化する Envoy プロキシと gRPC ライブラリを初期化する場合、Cloud Service Mesh に接続して Cloud Service Mesh クライアントとして動作する必要があります。この接続を確立するには、次のように構成情報を使用して、クライアントをブートストラップする必要があります。

  • Cloud Service Mesh の場所(trafficdirector.googleapis.com
  • クライアントが構成をリクエストする VPC ネットワークの名前
  • その他のオプション情報(ロギングを有効にするかどうかなど)

このドキュメントでは、Envoy と Cloud Service Mesh を併用する場合のブートストラップ情報の指定方法について説明します。ブートストラップ構成の指定方法は、サービスのデプロイ方法によって異なります。

  • VM で自動的にデプロイされる Envoy サイドカー プロキシの場合は、インスタンス テンプレートを作成するときに、自動 Envoy デプロイで VM を設定する場合のオプションで対応するパラメータを確認してください。
  • GKE Pod で自動的にデプロイされる Envoy サイドカー プロキシの場合は、サイドカー インジェクタの ConfigMapproxyMetadata にサポートされている次のパラメータを追加します。必須属性の構成の詳細については、自動 Envoy インジェクションを使用して Google Kubernetes Engine Pod を設定するをご覧ください。
  • 手動 Envoy デプロイの場合は、サポートされている次のパラメータをプロキシのブートストラップ ノード メタデータの構成に追加します。

xDS v3 のみがサポートされています。xDS v2 を使用している場合は、xDS v2 から xDS v3 に移行するの手順に沿って xDS v3 に移行します。

手動 Envoy デプロイに必要なブートストラップ構成

次の表に、ブートストラップで必須の構成属性を示します。

属性 説明
TRAFFICDIRECTOR_NETWORK_NAME 文字列。例: default

構成がリクエストされた Google Cloud VPC ネットワーク名(Google Cloud API の転送ルールで参照される VPC ネットワーク名です)。 xDS v3 API では、ネットワーク名を指定する必要があります。

この値を空のままにすることはおすすめしません。空の値は、今後のリリースにおけるサポートが保証されません。

TRAFFICDIRECTOR_GCP_PROJECT_NUMBER 数字。たとえば、123456789 のようにします。 Cloud Service Mesh リソースが構成されている Google Cloud プロジェクト。 これは数値のプロジェクト ID です(例: 111222333444)。

gcloud projects list コマンドを使用するか、Google Cloud コンソールの [プロジェクト情報] セクションで、すべてのプロジェクトとそのプロジェクト番号を確認できます。 xDS v3 API では、プロジェクト番号を指定する必要があります。

手動 Envoy デプロイのオプションのブートストラップ構成

次の表に、ブートストラップ構成のオプション属性を示します。

属性 説明
TRAFFICDIRECTOR_INTERCEPTION_PORT 0~65535 の整数

インターセプト リスナーのポート番号。Cloud Service Mesh で構成されているサービスへのトラフィックは、このポートにリダイレクトする必要があります。

この値を空のままにすると、インターセプト リスナーは Cloud Service Mesh によって構成されません。構成が送信トラフィックのインターセプトに依存している場合、インターセプト リスナーがないと、トラフィック フローが中断します。受信プロキシのみをインターセプトする必要がある中間プロキシの場合、このフィールドは必須ではありません。

TRAFFICDIRECTOR_ACCESS_LOG_PATH アクセスログ ファイルのパス(文字列)。例: /var/log/sidecar/access.log このパラメータの値は、ファイルのアクセスログ構成に使用され、Cloud Service Mesh によって他のパラメータと一緒にプロキシに送信されます。このファイルには、すべての受信リクエストと送信リクエストが記録されます。詳細については、Envoy プロキシのファイル アクセスログのドキュメントをご覧ください。
TRAFFICDIRECTOR_ENABLE_TRACING 文字列のブール値。例: true サイドカー プロキシが分散トレース情報を生成できるようにします。true に設定すると、Cloud Service Mesh によって Envoy トレース パラメータがサイドカー プロキシにプログラムされ、generate_request_id が true に設定されます。

以下は、Envoy プロキシ ブートストラップ構成のノード メタデータ セクションでサポートされている属性の構成方法を示す yaml 形式の例です。

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"