Cloud Service Mesh GKE API reference
This document is the API reference for Cloud Service Mesh with the Kubernetes Gateway API.
TDMesh
Field | Description |
---|---|
apiVersion |
string
net.gke.io/v1alpha1 |
kind |
string
TDMesh |
metadata |
Kubernetes ObjectMeta |
spec |
MeshSpec |
status |
MeshStatus |
MeshSpec
Field | Description |
---|---|
allowedRoutes |
gateway.networking.k8s.io/v1.AllowedRoutes |
gatewayClassName |
string gke-td |
MeshStatus
Field | Description |
---|---|
conditions |
The conditions field describes the current conditions of the Mesh.
Known condition types:
|
GatewayClass
See the
reference documentation for the GatewayClass
.
TDGRPCRoute
TDGRPCRoute
specifies routing behavior of gRPC requests from a TDMesh
or
Gateway
listener to an API object, for example, Service
.
Field | Description |
---|---|
apiVersion |
string
net.gke.io/v1alpha1 |
kind |
stringTDGRPCRoute |
metadata |
metav1.23ObjectMeta |
spec |
GRPCRouteSpec Defines the preferred state of `GRPCRoute.` |
Status |
GRPCRouteStatus Same as HTTPRouteStatus. |
GRPCRouteSpec
The specification of a TDGRPCRoute
consists of the values in the following
table:
Field | Description |
---|---|
CommonRouteSpec |
CommonRouteSpec |
Hostnames |
[]Hostname Hostnames defines a set of hostnames that should match against the gRPC Host header to select a GRPCRoute to process the
request.Hostname is the fully qualified domain name of a network host,
as defined by RFC 3986. Note the following deviations from the "host"
part of the URI as defined in the RFC:
TDGRPCRoute rules. If no hostname is specified, traffic is routed
based on the GRPCRouteRules .Hostname can be "precise" which is a domain name without the
terminatingdot of a network host (for example, butterfly.example.com ) or
wildcard , which is a domain name prefixed with a single wildcard
label, for example, `*.example.com`. The wildcard character `*` must
appear by itself as the first DNS label and matches only a single
label. You cannot have a wildcard label by itself (for example, Host
== "*"). Requests are matched against the `Host` field in the
following order:
|
Rules |
[]GRPCRouteRule Defines a list of gRPC matchers, filters, and actions. |
GRPCRouteRule
Rules define semantics for matching a gRPC request based on conditions, and optionally forwarding the request to an API object. Rules consist of the following:
Field | Description |
---|---|
Matches |
GRPCRouteMatch Defines conditions used for matching a gRPC request. Each match is independent. In other words, this rule is matched if any single match is satisfied. |
BackendRefs |
[]GRPCBackendRef Defines the backends where matching requests should be sent. If unspecified or invalid (refers to a non-existent resource or a Service with no endpoints), the rule performs no forwarding. GRPCBackendRef is the same as HTTPBackendRef . |
GRPCRouteMatch
Rules define semantics for matching a gRPC request based on conditions, and optionally forwarding the request to an API object. Rules are defined as follows:
Field |
Description |
---|---|
Method | GRPCMethodMatch Defines a gRPC method to match against. |
Headers |
[]GRPCHeaderMatch Defines a gRPC request header matcher. Multiple match values are combined with an AND operation, meaning, a request must match all the specified headers to select the route. Note: The definition of GRPCHeaderMatch is the same as `HTTPHeaderMatch `. |
GRPCMethodMatch
The GRPCMethodMatch
consists of the following:
Field | Description |
---|---|
Type | MethodMatchType Defines the type specifying how to match against the name. If not specified, a default value of EXACT is used. You can
choose EXACT or RegularExpression . |
Service | string Defines the name of the service to match against. If unspecified, will match all services. |
Method | string Defines the method to match against. If unspecified, it will match all methods. |
GRPCHeaderMatch
The GRPCHeaderMatch
consists of the following:
Field | Description |
---|---|
Type | HeaderMatchType Defines how to match against the value of the header. |
Name | String Name is the name of the gRPC header to be matched. Name matching must be case insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2). |
Value | String Value is the value of HTTP header to be matched. |
GRPCBackendRef
Field | Description |
---|---|
BackendRef | BackendRef `BackendRef` is a reference to a backend to forward matched requests to. |
HTTPRoute
See the open source Gateway API reference for HTTPRoute.
TCPRoute
See the open source Gateway API reference for TCPRoute.