Documentation de référence de l'API GKE Cloud Service Mesh

Ce document est la documentation de référence de l'API pour Cloud Service Mesh avec la passerelle Kubernetes. API.

TDMesh

Champ Description
apiVersion chaîne
net.gke.io/v1alpha1
kind chaîne
TDMesh
metadata ObjectMeta de Kubernetes
spec MeshSpec
status MeshStatus

MeshSpec

Champ Description
allowedRoutes gateway.networking.k8s.io/v1.AllowedRoutes
gatewayClassName chaîne
gke-td

MeshStatus

Champ Description
conditions Le champ des conditions décrit les conditions actuelles du maillage.
Types de conditions connus :
  • Planifiée
  • Prêt
Pour plus d'informations, consultez la page Kubernetes meta/v1.23Condition.

GatewayClass

Consultez la documentation de référence sur GatewayClass.

TDGRPCRoute

TDGRPCRoute spécifie le comportement de routage des requêtes gRPC d'un écouteur TDMesh ou Gateway vers un objet d'API, par exemple Service.

Champ Description
apiVersion chaîne
net.gke.io/v1alpha1
kind chaîne
TDGRPCRoute
metadata metav1.23ObjectMeta
spec GRPCRouteSpec
Définit l'état souhaité de "GRPCRoute".
Status GRPCRouteStatus
Identique à HTTPRouteStatus.

GRPCRouteSpec

La spécification d'un TDGRPCRoute comprend les valeurs du tableau suivant :

Champ Description
CommonRouteSpec CommonRouteSpec
Hostnames []Hostname
Les noms d'hôte définissent un ensemble de noms d'hôte devant correspondre à l'en-tête gRPC Host pour sélectionner un objet GRPCRoute afin de traiter la requête.

Hostname correspond au nom de domaine complet d'un hôte réseau, tel que défini par le document RFC 3986. Notez les écarts suivants par rapport à la partie "hôte" de l'URI, telle que définie dans le document RFC :
  • Les adresses IP ne sont pas autorisées.
  • Le délimiteur ":" n'est pas respecté, car les ports ne sont pas autorisés.
Les requêtes entrantes sont mises en correspondance avec les noms d'hôte avant les règles TDGRPCRoute. Si aucun nom d'hôte n'est spécifié, le trafic est acheminé en fonction de GRPCRouteRules.

Hostname peut être "précis". Il s'agit d'un nom de domaine sans le point d'arrêt

d'un hôte réseau (par exemple, butterfly.example.com) ou wildcard, qui est un nom de domaine précédé d'un seul libellé générique (par exemple, "*.example.com"). Le caractère générique "*" doit apparaître seul comme premier libellé DNS et il ne doit correspondre qu'à un seul libellé. Vous ne pouvez pas utiliser de caractère générique seul (par exemple, Host == "*"). Les requêtes sont mises en correspondance avec le champ "Host" dans l'ordre suivant :
  • Si Host est précis, la requête correspond à cette règle si l'en-tête de l'hôte gRPC est égal à Host.
  • Si Host est un caractère générique, la requête correspond à cette règle si l'en-tête d'hôte gRPC est égal au suffixe (en supprimant le premier libellé) de la règle à caractère générique.
Rules []GRPCRouteRule
Définit une liste d'actions, de filtres et d'outils de mise en correspondance gRPC.

GRPCRouteRule

Les règles définissent la sémantique permettant de faire correspondre une requête gRPC en fonction de conditions et, éventuellement de transmettre la requête à un objet d'API. Les règles sont les suivantes :

Champ Description
Matches GRPCRouteMatch
Définit les conditions utilisées pour faire correspondre une requête gRPC. Chaque correspondance est indépendante. En d'autres termes, cette règle est mise en correspondance si une seule correspondance est satisfaite.
BackendRefs []GRPCBackendRef

Définit les backends vers lesquels les requêtes correspondantes doivent être envoyées. Si elle n'est pas spécifiée ou n'est pas valide (fait référence à une ressource inexistante ou à un service sans point de terminaison), la règle n'effectue aucun transfert.

GRPCBackendRef est identique à HTTPBackendRef.
GRPCRouteMatch

Les règles définissent la sémantique permettant de faire correspondre une requête gRPC en fonction de conditions et, éventuellement de transmettre la requête à un objet d'API. Les règles sont définies comme suit :


Champ

Description
Méthode GRPCMethodMatch

Définit une méthode gRPC à mettre en correspondance.
En-têtes []GRPCHeaderMatch
Définit un outil de mise en correspondance des en-têtes de requête gRPC. Plusieurs valeurs de correspondance sont combinées à une opération AND. En d'autre termes, une requête doit correspondre à tous les en-têtes spécifiés pour sélectionner la route.
Remarque : La définition de GRPCHeaderMatch est identique à HTTPHeaderMatch.
GRPCMethodMatch

La configuration GRPCMethodMatch comprend les éléments suivants :

Champ Description
Type MethodMatchType

Définit le type spécifiant le nom à mettre en correspondance. Si aucune valeur n'est spécifiée, la valeur par défaut EXACT est utilisée. Vous pouvez choisir EXACT ou RegularExpression.
Service chaîne

Définit le nom du service avec lequel établir une correspondance. S'il n'est pas spécifié, la correspondance est effectuée avec tous les services.
Méthode chaîne

Définit la méthode à mettre en correspondance. Si aucune valeur n'est spécifiée, toutes les méthodes sont mises en correspondance.
GRPCHeaderMatch

La configuration GRPCHeaderMatch comprend les éléments suivants :

Champ Description
Type HeaderMatchType

Définit une correspondance avec la valeur de l'en-tête.
Nom Chaîne

Le nom correspond au nom de l'en-tête gRPC à mettre en correspondance. La mise en correspondance des noms ne doit pas être sensible à la casse. (Consultez la page https://tools.ietf.org/html/rfc7230#section-3.2.)
Valeur Chaîne

La valeur correspond à la valeur de l'en-tête HTTP à mettre en correspondance.
GRPCBackendRef
Champ Description
BackendRef BackendRef

Référence à un backend vers lequel transférer les requêtes correspondantes.

HTTPRoute

Consultez la documentation de référence de l'API Gateway Open Source pour HTTPRoute.

TCPRoute

Consultez la documentation de référence de l'API Gateway Open Source pour TCPRoute.