Service Mesh (ASM) バージョン 1.21.6.54 以降では、ASMHeaderPropagation CRD を構成できます。この方法で、リクエストヘッダーのパススルールールを定義できます。サービスのポッドが Baggage ヘッダーをパススルーできる場合、ASMHeaderPropagation CRD を使用して、Baggage ヘッダーのコンテキストで呼び出しチェーン上でパススルーするカスタムリクエストヘッダーを指定できます。このトピックでは、構成例を示し、ASMHeaderPropagation 内のフィールドについて説明します。
構成例
ASMHeaderPropagation は、特定のリクエストヘッダーを呼び出しトレースに沿って渡すことを可能にし、トラフィック管理を容易にします。この例では、リクエストヘッダーは、クラスターのデフォルトの名前空間でサイドカープロキシが挿入されるすべてのワークロードの呼び出しトレースに渡されます。
apiVersion: istio.alibabacloud.com/v1beta1
kind: ASMHeaderPropagation
metadata:
name: version-propagation
namespace: default
spec:
headers:
- version
version リクエストヘッダーをパススルーするには、自動イベントトラッキングを構成するか、コードを変更してサービスの Baggage パススルー機能を有効にする必要があります。Baggage の詳細な構成手順と ASMHeaderPropagation CRD の使用例については、「許可モードでトラフィックレーンを実装するために ASMHeaderPropagation CRD を構成する」および「ハッシュタグプラグインで実現されるマルチタグルーティングルールに基づいて、ユーザーセグメントごとに複数のアプリケーションをカナリアリリースする」をご参照ください。
フィールドの説明
spec
フィールド | タイプ | 必須 | 説明 |
workloadSelector | いいえ | 1 つ以上のタグを使用して、リクエストヘッダーのパススルーが有効になる特定のポッドセットを指定します。タグは、リソースが配置されている構成済みの名前空間内でのみ検索できます。 指定しない場合、ASMHeaderPropagation のリクエストヘッダーパススルールールは、指定された名前空間内のすべてのワークロードに有効になります。 | |
headers | []string | headerPrefix が構成されていない場合は必須 | 呼び出しトレースでパススルーする必要があるリクエストヘッダーのリスト。リクエストヘッダーは、リストに含まれている場合にパススルーされます。 |
headerPrefix | []string | headers が構成されていない場合は必須 | 呼び出しトレースでパススルーする必要があるリクエストヘッダーのプレフィックス。リクエストヘッダーは、いずれかのプレフィックスが含まれている場合にパススルーされます。 |
WorkloadSelector
フィールド | タイプ | 必須 | 説明 |
labels | map<string, string> | はい | ルールが有効になるポッドを指定します。少なくとも 1 セットのタグが必要です。 |