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 サイドカー プロキシの場合は、サイドカー インジェクタの
ConfigMap
でproxyMetadata
にサポートされている次のパラメータを追加します。必須属性の構成の詳細については、自動 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"