Referencia de la API de Cloud Service Mesh GKE

Este documento es la referencia de la API para Cloud Service Mesh con la puerta de enlace de Kubernetes API.

TDMesh

Campo Descripción
apiVersion string
net.gke.io/v1alpha1
kind string
TDMesh
metadata Kubernetes ObjectMeta
spec MeshSpec
status MeshStatus

MeshSpec

Campo Descripción
allowedRoutes gateway.networking.k8s.io/v1.AllowedRoutes
gatewayClassName string
gke-td

MeshStatus

Campo Descripción
conditions En el campo Condiciones, se describen las condiciones actuales de la malla.
Tipos de condiciones conocidos:
  • Programada
  • Listo
Para obtener más información, consulta Kubernetes meta/v1.23Condition.

GatewayClass

Consulta la documentación de referencia para GatewayClass.

TDGRPCRoute

TDGRPCRoute especifica el comportamiento de enrutamiento de las solicitudes de gRPC de un objeto de escucha TDMesh o Gateway a un objeto de la API, por ejemplo, Service.

Campo Descripción
apiVersion string
net.gke.io/v1alpha1
kind string
TDGRPCRoute
metadata metav1.23ObjectMeta
spec GRPCRouteSpec
Define el estado preferido de `GRPCRoute.`
Status GRPCRouteStatus
Lo mismo que HTTPRouteStatus.

GRPCRouteSpec

La especificación de un TDGRPCRoute consta de los valores de la siguiente tabla:

Campo Descripción
CommonRouteSpec CommonRouteSpec
Hostnames []Nombre de host
Los nombres de host definen un conjunto de nombres de host que deben coincidir con el encabezado Host de gRPC para seleccionar una GRPCRoute a fin de procesar la solicitud.

Hostname es el nombre de dominio completamente calificado de un host de red, según lo define la RFC 3986. Ten en cuenta las siguientes desviaciones de la parte “host” del URI, como se define en la RFC:
  • No se permiten direcciones IP.
  • No se respeta el delimitador “:” porque no se permiten puertos.
Las solicitudes entrantes se comparan con los nombres de host antes de las reglas TDGRPCRoute. Si no se especifica un nombre de host, el tráfico se enruta en función de GRPCRouteRules.

Hostname Puede ser “preciso”, ya que es un nombre de dominio sin la terminación

punto de un host de red (por ejemplo, butterfly.example.com) o wildcard, que es un nombre de dominio con el prefijo de una sola etiqueta comodín, por ejemplo, “*.example.com”. El carácter comodín “*” debe aparecer solo como la primera etiqueta de DNS y coincide con una sola etiqueta. No puedes tener una etiqueta comodín por sí sola (por ejemplo, Host== "*"). Las solicitudes se comparan con el campo “Host” en el siguiente orden:
  • Si Host es preciso, la solicitud coincide con esta regla si el encabezado del host de gRPC es igual a Host.
  • Si Host es un comodín, la solicitud coincide con esta regla si el encabezado del host de gRPC es igual al sufijo (quita la primera etiqueta) de la regla comodín.
Rules []GRPCRouteRule
Define una lista de comparadores, filtros y acciones de gRPC.

GRPCRouteRule

Las reglas definen la semántica para hacer coincidir una solicitud de gRPC según las condiciones y, de forma opcional, reenvían la solicitud a un objeto de API. Las reglas constan de los siguientes elementos:

Campo Descripción
Matches GRPCRouteMatch
Define las condiciones que se usan para hacer coincidir una solicitud de gRPC. Cada coincidencia es independiente. En otras palabras, esta regla coincide si se cumple cualquier coincidencia.
BackendRefs []GRPCBackendRef

Define los backends a los que se deben enviar las solicitudes coincidentes. Si no se especifica o no es válida (se refiere a un recurso inexistente o a un Service sin extremos), la regla no realiza reenvíos.

GRPCBackendRef es lo mismo que HTTPBackendRef.
GRPCRouteMatch

Las reglas definen la semántica para hacer coincidir una solicitud de gRPC según las condiciones y, de forma opcional, reenvían la solicitud a un objeto de API. Las reglas se definen de la siguiente manera: sigue:


Campo

Descripción
Método GRPCMethodMatch

Define un método de gRPC con el que se debe comparar.
Encabezados []GRPCHeaderMatch
Define un comparador de encabezados de solicitud de gRPC. Si hay varios valores de coincidencia, combinada con una operación AND, es decir, una solicitud debe coincidir con todos los para seleccionar la ruta.
Nota: La definición de GRPCHeaderMatch es la misma que HTTPHeaderMatch.
GRPCMethodMatch

GRPCMethodMatch consta de lo siguiente:

Campo Descripción
Tipo MethodMatchType

Define el tipo que especifica cómo hacer coincidir el nombre. Si no es así se especifica, se usa un valor predeterminado de EXACT. Puedes elegir EXACT o RegularExpression.
Service string

Define el nombre del servicio con el que se debe comparar. Si no se especifica, coincidirá con todos los servicios.
Método string

Define el método con el que se establece la coincidencia. Si no se especifica, coincidirá todos los métodos.
GRPCHeaderMatch

GRPCHeaderMatch consta de lo siguiente:

Campo Descripción
Tipo HeaderMatchType

Define cómo hacer coincidir el valor del encabezado.
Nombre Cadena

El nombre es el nombre del encabezado de gRPC con el que se buscarán coincidencias. La coincidencia de nombres debe no debe distinguir mayúsculas de minúsculas. (Visita https://tools.ietf.org/html/rfc7230#section-3.2).
Valor String

El valor es el valor del encabezado HTTP que se establecerá la coincidencia.
GRPCBackendRef
Campo Descripción
BackendRef BackendRef

“BackendRef” es una referencia a un backend para reenviarle solicitudes coincidentes.

HTTPRoute

Consulta la referencia de la API de puerta de enlace de código abierto para HTTPRoute.

TCPRoute

Consulta la referencia de la API de puerta de enlace de código abierto para TCPRoute.