Cloud Service Mesh GKE API リファレンス

このドキュメントは、Kubernetes Gateway API を使用した Cloud Service Mesh の API リファレンスです。

TDMesh

フィールド 説明
apiVersion 文字列
net.gke.io/v1alpha1
kind 文字列
TDMesh
metadata Kubernetes ObjectMeta
spec MeshSpec
status MeshStatus

MeshSpec

フィールド 説明
allowedRoutes gateway.networking.k8s.io/v1.AllowedRoutes
gatewayClassName string
gke-td

MeshStatus

フィールド 説明
conditions Conditions フィールドには、メッシュの現在の条件が示されます。
既知の条件タイプ:
  • スケジュール設定
  • 準備完了
詳細については、Kubernetes meta/v1.23Condition をご覧ください。

GatewayClass

GatewayClass のリファレンス ドキュメントをご覧ください。

TDGRPCRoute

TDGRPCRoute は、TDMesh または Gateway リスナーから API オブジェクト(Service など)への gRPC リクエストのルーティング動作を指定します。

フィールド 説明
apiVersion 文字列
net.gke.io/v1alpha1
kind 文字列
TDGRPCRoute
metadata metav1.23ObjectMeta
spec GRPCRouteSpec
GRPCRoute の目的の状態を定義します。
Status GRPCRouteStatus
HTTPRouteStatus と同じ。

GRPCRouteSpec

TDGRPCRoute の仕様は、次の表の値から構成されます。

フィールド 説明
CommonRouteSpec CommonRouteSpec
Hostnames []Hostname
Hostnames は、gRPC の Host ヘッダーを照合して、リクエストを処理する GRPCRoute を選択するホスト名のセットを定義します。

Hostname は、RFC 3986 で定義されたネットワーク ホストの完全修飾ドメイン名です。RFC で定義されている URI の host 部分からの逸脱に注意してください。
  • IP アドレスは使用できません。
  • ポートが許可されていないため、「:」区切り文字は考慮されません。
受信リクエストは、TDGRPCRoute ルールの前のホスト名と照合されます。ホスト名が指定されていない場合、トラフィックは GRPCRouteRules に基づいてルーティングされます。

Hostname は、正確に記述できます。この場合、ネットワーク ホストの末尾にドットを付けていないドメイン名になります。(butterfly.example.com など)

また、単一のワイルドカード ラベルが付いたドメイン名になります(wildcard など)。ワイルドカード文字「*」は最初の DNS ラベルとして単独で示され、1 つのラベルにのみ一致します。ワイルドカード ラベルを単独で指定することはできません(例: Host == "*")。リクエストは、次の順序で Host フィールドと照合されます。
  • Host が正確で、gRPC ホストヘッダーが Host と等しい場合、リクエストはこのルールに一致します。
  • Host がワイルドカードの場合、gRPC ホストヘッダーがワイルドカード ルールのサフィックス(最初のラベルを削除)と等しい場合、リクエストはこのルールに一致します。
Rules []GRPCRouteRule
gRPC マッチャー、フィルタ、アクションのリストを定義します。

GRPCRouteRule

ルールでは、条件に基づいて gRPC リクエストを照合し、必要に応じて API オブジェクトに転送するためのセマンティクスを定義します。ルールは次の要素で構成されます。

フィールド 説明
Matches GRPCRouteMatch
gRPC リクエストの照合に使用される条件を定義します。各一致は独立しています。つまり、いずれかの一致が見つかると、このルールが一致します。
BackendRefs []GRPCBackendRef

一致するリクエストを送信するバックエンドを定義します。未設定または無効な場合(存在しないリソースまたはエンドポイントのない Service を参照)、ルールは転送を行いません。

GRPCBackendRefHTTPBackendRef と同じです。
GRPCRouteMatch

ルールでは、条件に基づいて gRPC リクエストを照合し、必要に応じて API オブジェクトに転送するためのセマンティクスを定義します。ルールは次のように定義されます。


項目

説明
メソッド GRPCMethodMatch

照合する gRPC メソッドを定義します。
ヘッダー []GRPCHeaderMatch
gRPC リクエスト ヘッダー マッチャーを定義します。複数の一致値は AND 演算で結合されます。つまり、リクエストは、指定されたすべてのヘッダーと一致してルートを選択する必要があります。
注: GRPCHeaderMatch の定義は HTTPHeaderMatch と同じです。
GRPCMethodMatch

GRPCMethodMatch は次の要素で構成されます。

フィールド 説明
タイプ MethodMatchType

名前の照合方法を指定するタイプを定義します。指定しない場合は、デフォルト値の EXACT が使用されます。EXACT または RegularExpression を選択できます。
サービス 文字列

照合するサービスの名前を定義します。指定しない場合は、すべてのサービスに一致します。
メソッド 文字列

照合するメソッドを定義します。指定しない場合は、すべてのメソッドと一致します。
GRPCHeaderMatch

GRPCHeaderMatch は次の要素で構成されます。

フィールド 説明
タイプ HeaderMatchType

ヘッダー値との照合方法を定義します。
名前 文字列

名前は、照合する gRPC ヘッダーの名前です。名前の照合では、大文字と小文字が区別されません。(https://tools.ietf.org/html/rfc7230#section-3.2 を参照)
文字列

値は、照合する HTTP ヘッダーの値です。
GRPCBackendRef
フィールド 説明
BackendRef BackendRef

BackendRef は、一致するリクエストの転送先となるバックエンドの参照です。

HTTPRoute

HTTPRoute のオープンソース Gateway API リファレンスをご覧ください。

TCPRoute

TCPRoute のオープンソース Gateway API リファレンスをご覧ください。