Panoramica del mesh di servizi GKE di Traffic Director
Questo documento è rivolto agli utenti di Google Kubernetes Engine che vogliono eseguire il deployment di un mesh di servizi Traffic Director utilizzando l'API Kubernetes Gateway.
Puoi configurare Traffic Director per GKE utilizzando le API Kubernetes Gateway, abilitando le comunicazioni tra servizi, gestione del traffico, bilanciamento del carico globale e applicazione dei criteri di sicurezza per i casi d'uso dei mesh di servizi.
API Kubernetes e API Google Cloud
Puoi configurare un mesh di servizi di Traffic Director utilizzando due API diverse:
- API Google Cloud, che possono essere le API di routing dei servizi o le API meno recenti
- API Gateway Kubernetes
Questo documento e le guide alla configurazione associate forniscono istruzioni per l'utilizzo dell'API Kubernetes Gateway per configurare un mesh di servizi Traffic Director.
Consigliamo di utilizzare le API gateway gateway su Google Kubernetes Engine e sconsigliamo di utilizzare entrambe le API per configurare il routing nella stessa rete mesh di servizi su GKE.
L'API Service Routing utilizza gli stessi nomi delle risorse delle API del gateway Kubernetes, il che semplifica le operazioni quando utilizzi le due API. Le risorse Kubernetes che configuri sono equivalenti dal punto di vista funzionale alle risorse Google Cloud rappresentate dall'API Service Routing per Traffic Director.
Le seguenti sezioni descrivono le risorse e l'architettura utilizzate dall'integrazione di Traffic Director con le API gateway Kubernetes.
API Gateway
L'API Gateway è una raccolta di risorse che modellano le reti di servizi in Kubernetes. L'API Gateway Kubernetes è un progetto open source che si concentra sul supporto dei casi d'uso del bilanciatore del carico in entrata e fornendo un'API di routing generica. L'API di routing generica presenta molte implementazioni. Le definizioni di risorse personalizzate (CRD) di Traffic Director vengono aggiunte come estensione all'API open source Gateway. I CRD supportano i casi d'uso dei mesh di servizi e utilizzano la stessa API di routing generica introdotta dall'API Gateway.
L'API Gateway è organizzata in modo gerarchico, con una risorsa principale Gateway e un elemento GatewayClass
associato, a cui colleghi le route. GKE
include una risorsa TDMesh
che è un peer della risorsa Gateway
. Puoi collegare gli stessi tipi di Route
alla risorsa TDMesh
. Nella risorsa TDMesh
puoi collegare route e criteri per i mesh di servizi.
Parco risorse
Un flotta è costituito da uno o più cluster GKE raggruppati in modo logico. Un parco risorse ti consente di gestire le funzionalità e applicare i criteri in modo coerente su più cluster. Se utilizzi un parco risorse, puoi gestire un mesh di servizi di Traffic Director che copre più cluster.
Architettura
Traffic Director supporta l'API Gateway su GKE programmando i tuoi piani dati per implementare i comportamenti di networking specificati nelle risorse API Gateway. Traffic Director è un piano di controllo gestito da Google che non elabora traffico di piano dati. I proxy Envoy in esecuzione come file collaterali nei carichi di lavoro o nei client gRPC proxyless elaborano il traffico nel piano dati. Traffic Director configura i proxy Envoy e i client gRPC proxyless tramite l'API xDSv3.
Traffic Director offre una soluzione del piano di controllo gestita a livello globale che è più robusta e scalabile rispetto all'esecuzione di controller in-cluster. Poiché è una soluzione globale, Traffic Director può bilanciare il carico del traffico tra i carichi di lavoro distribuiti in più cluster GKE. Nella seguente illustrazione, Traffic Director gestisce il traffico verso i servizi in tre cluster che si trovano in un unico parco risorse utilizzando le risorse dell'API Gateway.
Puoi designare un cluster nel tuo parco risorse come cluster di configurazione. Il cluster di configurazione è la posizione di archiviazione delle risorse dell'API Gateway. Traffic Director controlla solo le risorse presenti nel cluster di configurazione e ignora le risorse che si trovano in altri cluster del parco risorse. Consulta la pagina relativa alla progettazione del cluster di configurazione nella documentazione di GKE per informazioni più dettagliate sul cluster di configurazione.
Con i servizi multi-cluster di GKE, le risorse dell'API Gateway nel cluster di configurazione possono fare riferimento ai servizi Kubernetes in qualsiasi cluster all'interno di un parco risorse. Per ulteriori informazioni sul rilevamento dei servizi multi-cluster, consulta Servizi multi-cluster.
Risorse
Traffic Director supporta sia i proxy Envoy sia gRPC proxyless nel piano dati di un mesh di servizi. Entrambi i client ricevono la configurazione da Traffic Director per un determinato mesh di servizi, specificando il nome e il numero di progetto corrispondente della risorsa TDMesh
nella rispettiva configurazione di bootstrap. Le guide alla configurazione di Traffic Director con le API gateway gateway forniscono configurazioni dimostrative del piano dati con Envoy e gRPC proxyless.
TDMesh
risorsa
La risorsa TDMesh
è una risorsa personalizzata di Traffic Director. È un'estensione delle API gateway open source per supportare i casi d'uso dei mesh di servizi di Traffic Director. Utilizzando la risorsa TDMesh
, crei un'istanza di mesh di servizi nel tuo parco risorse. Le route
collegate alla risorsa TDMesh
specificano i comportamenti di routing da servizio a servizio
nel mesh di servizi.
Route
risorsa
Un sottoinsieme delle risorse
Route API Gateway
può essere collegato a una risorsa TDMesh
per specificare il routing a livello di servizio
nel mesh di servizi. Traffic Director supporta le seguenti risorse Route
:
HTTPRoute
TCPRoute
TDGRPCRoute
(risorsa personalizzata Traffic Director)
Ad esempio, puoi creare un HTTPRoute
per specificare che le richieste HTTP
destinate all'host payments.svc.internal
vengono instradate al servizio Kubernetes
service-payments
. Quando colleghi la risorsa HTTPRoute
a una risorsa TDMesh
a cui sono associate istanze di piani di dati, le richieste HTTP inviate dai carichi di lavoro all'interno del mesh vengono instradate di conseguenza.
Questa release potenzia le risorse generiche di Route
nell'API Gateway con un nuovo tipo di percorso, TDGRPCRoute
. Il nuovo tipo di route offre un'esperienza
di prima classe per il routing delle richieste gRPC, grazie alla corrispondenza con primitive gRPC native,
come definizioni di metodo e servizio.
Limitazioni
- Traffic Director configura i seguenti comportamenti predefiniti per tutti i servizi Kubernetes nel mesh di servizi. Non puoi cambiare
questi comportamenti.
- I controlli di integrità TCP sono configurati su porte di servizio a cui si fa riferimento in qualsiasi risorsa
Route
dell'API Gateway. - Per tutte le richieste in entrata ai servizi viene configurato un timeout predefinito di 30 secondi.
- L'affinità sessione è disattivata.
- I controlli di integrità TCP sono configurati su porte di servizio a cui si fa riferimento in qualsiasi risorsa
- Iniettore automatico Envoy supporta solo un mesh per parco risorse.
- Non è possibile abilitare le funzionalità di sicurezza di Traffic Director utilizzando l'API Gateway.
- Devi configurare le risorse
TDMesh
eRoute
in GKE utilizzando solo l'API Gateway. Non puoi utilizzare la console Google Cloud, l'interfaccia a riga di comando gcloud o le API REST. - Tutti i cluster devono essere in un solo progetto. Un mesh di servizi che si estende su più cluster in più progetti non è supportato.
- Non puoi configurare o visualizzare un mesh di servizi GKE utilizzando la console Google Cloud.
- L'osservabilità del piano di controllo con Cloud Logging e Cloud Monitoring non è supportata.
- I cluster GKE a livello di area geografica non sono supportati.
Passaggi successivi
- Scopri come prepararti a configurare un mesh di servizi con l'API Gateway.