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 字符串
gke-td

MeshStatus

字段 说明
conditions 条件字段描述网格的当前条件。
已知条件类型:
  • 定期
  • 准备就绪
有关详情,请参阅 Kubernetes 元/v1.23Condition

GatewayClass

请参阅 GatewayClass 的参考文档

TDGRPCRoute

TDGRPCRoute 指定从 TDMeshGateway 监听器到 API 对象的 gRPC 请求的路由行为,例如 Service

字段 说明
apiVersion 字符串
net.gke.io/v1alpha1
kind 字符串
TDGRPCRoute
metadata metav1.23ObjectMeta
spec GRPCRouteSpec
定义“GRPCRoute”的首选状态。
Status GRPCRouteStatus
HTTPRouteStatus 相同。

GRPCRouteSpec

TDGRPCRoute 的规范由下表中的值组成:

字段 说明
CommonRouteSpec CommonRouteSpec
Hostnames []Hostname
Hostname 定义一组主机名,它们应与 gRPC Host 标头匹配,以便选择要用于处理请求的 GRPCRoute。

Hostname 是网络主机的完全限定域名(按 RFC 3986 标准定义)。请注意按 RFC 标准定义的 URI 的“host”部分存在以下差异:
  • 不允许使用 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

定义应将匹配请求发送到的后端。如果未指定该项或指定的内容无效(即资源不存在或服务不包含端点),则规则不会执行任何转发。

GRPCBackendRef 等同于 HTTPBackendRef
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。)
字符串

Value 是要匹配的 HTTP 标头的值。
GRPCBackendRef
字段 说明
BackendRef BackendRef

“BackendRef”是对匹配的请求将转发到的后端的引用。

HTTPRoute

请参阅适用于 HTTPRoute 的开源 Gateway API 参考文档

TCPRoute

请参阅适用于 TCPRoute 的开源 Gateway API 参考文档