Riferimento all'API GKE di Cloud Service Mesh

Questo documento è il riferimento dell'API per Cloud Service Mesh con l'API Kubernetes Gateway.

TDMesh

Campo Descrizione
apiVersion stringa
net.gke.io/v1alpha1
kind stringa
TDMesh
metadata ObjectMeta di Kubernetes
spec MeshSpec
status MeshStatus

MeshSpec

Campo Descrizione
allowedRoutes gateway.networking.k8s.io/v1.AllowedRoutes
gatewayClassName stringa
gke-td

MeshStatus

Campo Descrizione
conditions Il campo condizioni descrive le condizioni attuali della maglia.
Tipi di condizioni noti:
  • Pianificato
  • Pronto
Per ulteriori informazioni, leggi Kubernetes meta/v1.23Condition.

GatewayClass

Consulta la documentazione di riferimento per GatewayClass.

TDGRPCRoute

TDGRPCRoute specifica il comportamento di instradamento delle richieste gRPC da un ascoltatore TDMesh o Gateway a un oggetto API, ad esempio Service.

Campo Descrizione
apiVersion stringa
net.gke.io/v1alpha1
kind stringa
TDGRPCRoute
metadata metav1.23ObjectMeta
spec GRPCRouteSpec
Definisce lo stato preferito di "GRPCRoute".
Status GRPCRouteStatus
Come HTTPRouteStatus.

GRPCRouteSpec

La specifica di un TDGRPCRoute è costituita dai valori riportati nella tabella di seguito:

Campo Descrizione
CommonRouteSpec CommonRouteSpec
Hostnames []Nome host
Hostnames definisce un insieme di nomi host che devono corrispondere all'Host gRPC per selezionare un GRPCRoute per elaborare la richiesta.

Hostname è il nome di dominio completo di un host di rete, come definito dal documento RFC 3986. Tieni presente le seguenti deviazioni dalla parte "host" dell'URI come definita nel documento RFC:
  • Gli indirizzi IP non sono consentiti.
  • Il delimitatore ":" non viene rispettato perché le porte non sono consentite.
Le richieste in entrata vengono associate agli host name prima delle regole TDGRPCRoute. Se non viene specificato alcun nome host, il traffico viene indirizzato in base al GRPCRouteRules.

Hostname può essere "preciso", ovvero un nome di dominio senza il

punto finale di un host di rete (ad esempio butterfly.example.com) owildcard, ovvero un nome di dominio con un prefisso costituito da un'unica etichetta con carattere jolly, ad esempio "*.example.com". Il carattere jolly "*" deve comparire da solo come prima etichetta DNS e corrisponde a una sola etichetta. Non puoi avere un'etichetta jolly da sola (ad es. Host == "*"). Le richieste vengono associate al campo "Host" nel seguente ordine:
  • Se Host è preciso, la richiesta corrisponde a questa regola se l'intestazione dell'host gRPC è uguale a Host.
  • Se Host è un carattere jolly, la richiesta corrisponde a questa regola se l'intestazione dell'host gRPC è uguale al suffisso (rimozione della prima etichetta) della regola jolly.
Rules []GRPCRouteRule
Definisce un elenco di corrispondenze, filtri e azioni gRPC.

GRPCRouteRule

Le regole definiscono la semantica per la corrispondenza di una richiesta gRPC in base a condizioni e, facoltativamente, inoltrano la richiesta a un oggetto API. Le regole sono costituite da quanto segue:

Campo Descrizione
Matches GRPCRouteMatch
Definisce le condizioni utilizzate per la corrispondenza di una richiesta gRPC. Ogni corrispondenza è indipendente. In altre parole, questa regola viene associata se viene soddisfatta una singola corrispondenza.
BackendRefs []GRPCBackendRef

Definisce i backend a cui devono essere inviate le richieste corrispondenti. Se non specificato o non valido (si riferisce a una risorsa inesistente o a un servizio senza endpoint), la regola non esegue alcun inoltro.

GRPCBackendRef è uguale a HTTPBackendRef.
GRPCRouteMatch

Le regole definiscono la semantica per la corrispondenza di una richiesta gRPC in base a condizioni e, facoltativamente, inoltrano la richiesta a un oggetto API. Le regole sono definite come segue:


Campo

Descrizione
Metodo GRPCMethodMatch

Definisce un metodo gRPC da confrontare.
Intestazioni []GRPCHeaderMatch
Definisce un'espressione di corrispondenza dell'intestazione della richiesta gRPC. Più valori di corrispondenza vengono combinati con un'operazione AND, il che significa che una richiesta deve corrispondere a tutte le intestazioni specificate per selezionare il percorso.
Nota: la definizione di GRPCHeaderMatch è la stessa di HTTPHeaderMatch.
GRPCMethodMatch

GRPCMethodMatch è costituito da:

Campo Descrizione
Tipo MethodMatchType

Definisce il tipo che specifica la modalità di corrispondenza al nome. Se non viene specificato, viene utilizzato un valore predefinito di EXACT. Puoi scegliere EXACT o RegularExpression.
Servizio stringa

Definisce il nome del servizio con cui eseguire la corrispondenza. Se non specificato, corrisponderà a tutti i servizi.
Metodo stringa

Definisce il metodo da confrontare. Se non specificato, corrisponderà a tutti i metodi.
GRPCHeaderMatch

GRPCHeaderMatch è costituito da:

Campo Descrizione
Tipo HeaderMatchType

Definisce la modalità di corrispondenza con il valore dell'intestazione.
Nome Stringa

Name è il nome dell'intestazione gRPC da associare. La corrispondenza dei nomi non deve fare distinzione tra maiuscole e minuscole. (consulta https://tools.ietf.org/html/rfc7230#section-3.2).
Valore Stringa

Il valore è il valore dell'intestazione HTTP da associare.
GRPCBackendRef
Campo Descrizione
BackendRef BackendRef

`BackendRef` è un riferimento a un backend a cui inoltrare le richieste con corrispondenza.

HTTPRoute

Consulta il riferimento all'API Gateway open source per HTTPRoute.

TCPRoute

Consulta il riferimento all'API Gateway open source per TCPRoute.