Cloud Service Mesh GKE API 參考資料

本文是 Cloud Service Mesh 的 API 參考資料,適用於 Kubernetes Gateway API。

TDMesh

欄位 說明
apiVersion string
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 條件欄位會說明 Mesh 的目前條件。
已知條件類型:
  • 已排定
  • 已就緒
詳情請參閱 Kubernetes meta/v1.23Condition

GatewayClass

請參閱GatewayClass的參考說明文件。

TDGRPCRoute

TDGRPCRoute 會指定從 TDMeshGateway 監聽器到 API 物件 (例如 Service) 的 gRPC 要求路由行為。

欄位 說明
apiVersion string
net.gke.io/v1alpha1
kind string
TDGRPCRoute
metadata metav1.23ObjectMeta
spec GRPCRouteSpec
定義 `GRPCRoute` 的偏好狀態。
Status GRPCRouteStatus
HTTPRouteStatus 相同。

GRPCRouteSpec

TDGRPCRoute 的規格包含下表中的值:

欄位 說明
CommonRouteSpec CommonRouteSpec
Hostnames []主機名稱
主機名稱定義一組主機名稱,應與 gRPC Host 標頭比對,以選取要處理要求的 GRPCRoute。

Hostname 是網路主機的完整網域名稱,如 RFC 3986 所定義。請注意下列與 RFC 定義的 URI「主機」部分相關的偏差:
  • 系統不允許使用 IP 位址。
  • 由於不允許使用連接埠,系統不會採用 `:` 分隔符。
系統會先比對主機名稱,再比對 TDGRPCRoute 規則。如未指定主機名稱,系統會根據 GRPCRouteRules 轉送流量。

Hostname 可以是「精確」的網域名稱,也就是不含網路主機終止點的網域名稱 (例如 butterfly.example.com),也可以是 wildcard,也就是以單一萬用字元標籤為前置字元的網域名稱,例如 `*.example.com`。萬用字元 `*` 必須單獨顯示為第一個 DNS 標籤,且只會比對單一標籤。

您無法單獨使用萬用字元標籤 (例如 Host ==「*」)。系統會依下列順序比對要求與 `Host` 欄位:
  • 如果 Host 是精確值,當 gRPC 主機標頭等於 Host 時,要求就會符合這項規則。
  • 如果 Host 是萬用字元,則當 gRPC 主機標頭等於萬用字元規則的後置字串 (移除第一個標籤) 時,要求會符合這項規則。
Rules []GRPCRouteRule
定義 gRPC 比對器、篩選器和動作清單。

GRPCRouteRule

規則會定義根據條件比對 gRPC 要求的語意,並視需要將要求轉送至 API 物件。規則包含下列項目:

欄位 說明
Matches GRPCRouteMatch
定義用於比對 gRPC 要求的條件。每場比賽都是獨立的。換句話說,只要符合任一比對條件,就會符合這項規則。
BackendRefs []GRPCBackendRef

定義應將相符要求傳送至的後端。如果未指定或無效 (指不存在的資源或沒有端點的服務),規則不會執行任何轉送作業。

GRPCBackendRefHTTPBackendRef 相同。
GRPCRouteMatch

規則會定義根據條件比對 gRPC 要求的語意,並視需要將要求轉送至 API 物件。規則定義如下:


欄位

說明
方法 GRPCMethodMatch

定義要比對的 gRPC 方法。
標頭 []GRPCHeaderMatch
定義 gRPC 要求標頭比對器。多個相符值會以 AND 運算合併,也就是說,要求必須符合所有指定的標頭,才能選取路徑。
注意:GRPCHeaderMatch 的定義與 `HTTPHeaderMatch` 相同。
GRPCMethodMatch

GRPCMethodMatch 包含下列項目:

欄位 說明
類型 MethodMatchType

定義指定如何比對名稱的類型。如未指定,系統會使用預設值 EXACT。您可以選擇 EXACTRegularExpression
服務 字串

定義要比對的服務名稱。如未指定,則會比對所有服務。
方法 字串

定義要比對的方法。如未指定,則會比對所有方法。
GRPCHeaderMatch

GRPCHeaderMatch 包含下列項目:

欄位 說明
類型 HeaderMatchType

定義如何比對標頭值。
名稱 字串

Name 是要比對的 gRPC 標頭名稱。名稱比對時不區分大小寫。(請參閱 https://tools.ietf.org/html/rfc7230#section-3.2)。
字串

值是要比對的 HTTP 標頭值。
GRPCBackendRef
欄位 說明
BackendRef BackendRef

`BackendRef` 是後端的參照,用於將相符要求轉送至後端。

HTTPRoute

請參閱 HTTPRoute 的開放原始碼 Gateway API 參考資料

TCPRoute

請參閱 TCPRoute 的開放原始碼 Gateway API 參考資料