Il gateway di inferenza Google Kubernetes Engine (GKE) multi-cluster bilancia il carico dei tuoi workload di inferenza AI/ML su più cluster GKE. Integra i gateway multi-cluster GKE per il routing del traffico tra cluster con Inference Gateway per l'erogazione del modello AI/ML. Questa integrazione migliora la scalabilità e l'alta disponibilità delle implementazioni. Questo documento illustra i concetti e i vantaggi principali del gateway.
Per saperne di più su come eseguire il deployment di GKE multi-cluster Inference Gateway, consulta Configura GKE multi-cluster Inference Gateway.
Per comprendere questo documento, devi avere familiarità con quanto segue:
- Orchestrazione di AI/ML su GKE.
- Terminologia dell'AI generativa.
- Concetti di networking GKE, tra cui Servizi, gateway multicluster GKE e l'API Gateway.
- Bilanciamento del carico in Google Cloud, in particolare come i bilanciatori del carico interagiscono con GKE.
Questo documento è rivolto ai seguenti utenti:
- Ingegneri del machine learning (ML), amministratori e operatori della piattaforma e specialisti di dati e AI interessati a utilizzare le funzionalità di orchestrazione dei container Kubernetes per la gestione dei carichi di lavoro di AI/ML.
- Architetti cloud o specialisti di networking che interagiscono con il networking Kubernetes.
Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti diGoogle Cloud , consulta Ruoli utente e attività comuni di GKE Enterprise.
Vantaggi di GKE multi-cluster Inference Gateway
Il gateway di inferenza GKE multicluster offre diversi vantaggi per la gestione dei workload di inferenza AI/ML, tra cui:
- Migliora l'alta affidabilità e la tolleranza agli errori tramite il bilanciamento del carico intelligente in più cluster GKE, anche in diverse regioni geografiche. I tuoi carichi di lavoro di inferenza rimangono disponibili e il sistema reindirizza automaticamente le richieste se un cluster o una regione riscontra problemi, riducendo al minimo i tempi di inattività.
- Migliora la scalabilità e ottimizza l'utilizzo delle risorse raggruppando le risorse GPU e TPU di vari cluster per gestire l'aumento della domanda. Questo pooling consente ai tuoi workload di superare la capacità di un singolo cluster e di utilizzare in modo efficiente le risorse disponibili nel parco risorse.
- Massimizza il rendimento con l'ottimizzazione globale del percorso. Il gateway utilizza metriche avanzate, come l'utilizzo della cache Key-Value (KV) di tutti i cluster, per prendere decisioni di routing efficienti. Questo approccio contribuisce a garantire che le richieste vengano inviate al cluster più attrezzato per gestirle, massimizzando così le prestazioni complessive del parco risorse di inferenza AI/ML.
Limitazioni
GKE Inference Gateway multi-cluster presenta le seguenti limitazioni:
Integrazione di Model Armor: il gateway di inferenza GKE multicluster non supporta l'integrazione di Model Armor.
Report sulla latenza del proxy Envoy: il proxy Envoy segnala la latenza delle query solo per le richieste andate a buon fine (
2xx). Ignora errori e timeout. Questo comportamento può indurre il bilanciatore del carico del server globale (GSLB) a sottostimare il carico effettivo sui backend non riusciti, indirizzando potenzialmente più traffico a servizi già sovraccarichi. Per risolvere il problema, configura un timeout della richiesta più lungo. Ad esempio, è consigliato un valore di600s.Limiti del gruppo di endpoint di rete (NEG): ha un limite di 50 NEG per Google Cloud servizio di backend. Quando utilizzi un InferencePool multi-porta, ogni porta in ogni zona crea un NEG dedicato. Ad esempio, un InferencePool con otto porte in un tipico cluster regionale (tre zone) genera 24 NEG. Pertanto, un gateway multicluster può aggregare un InferencePool da un massimo di due cluster (due cluster × 24 NEG = 48 NEG) prima di raggiungere il limite di 50 NEG.
Componenti chiave
GKE Inference Gateway multi-cluster utilizza diverse risorse personalizzate Kubernetes per gestire i workload di inferenza e il routing del traffico:
- InferencePool: raggruppa i backend del server di modelli identici nel cluster di destinazione. Questa risorsa semplifica la gestione e lo scaling delle istanze di servizio del modello. Gli oggetti InferencePool multi-porta sono supportati nei deployment a cluster singolo e multi-cluster.
InferenceObjective: definisce le priorità di routing per modelli specifici all'interno di un InferencePool. Questo routing contribuisce a garantire che determinati modelli ricevano la preferenza di traffico in base ai tuoi requisiti.GCPInferencePoolImport: rende disponibili i backend del modello per la configurazione del routing utilizzandoHTTPRoutenel cluster di configurazione. Questa risorsa viene creata automaticamente nel cluster di configurazione quando esporti un InferencePool da un cluster di destinazione. Il cluster di configurazione funge da punto di controllo centrale per l'ambiente multicluster.GCPBackendPolicy: personalizza il modo in cui il traffico viene bilanciato del carico sui tuoi backend. Ad esempio, puoi attivare il bilanciamento del carico in base a metriche personalizzate o impostare limiti per le richieste in volo per endpoint per proteggere i server del modello.AutoscalingMetric: definisce metriche personalizzate, ad esempiovllm:kv_cache_usage_perc, da esportare dai server dei modelli. Puoi quindi utilizzare queste metriche inGCPBackendPolicyper prendere decisioni più intelligenti sul bilanciamento del carico e ottimizzare il rendimento e l'utilizzo delle risorse.
Come funziona GKE Inference Gateway multi-cluster
Il gateway di inferenza GKE multi-cluster gestisce e instrada il traffico verso i tuoi modelli AI/ML di cui è stato eseguito il deployment in più cluster GKE. Ecco come funziona:
- Gestione centralizzata del traffico:un cluster di configurazione dedicato definisce le regole di routing del traffico. Il cluster di configurazione funge da punto di controllo centrale per l'ambiente multicluster. Quando abiliti Ingress multicluster per il tuo parco risorse, devi designare un cluster GKE come cluster di configurazione. Questo approccio centralizzato ti consente di gestire il modo in cui le richieste vengono indirizzate ai tuoi modelli in tutto il parco risorse di cluster GKE da un'unica posizione.
- Deployment flessibile dei modelli:i tuoi modelli AI/ML effettivi vengono eseguiti in cluster di destinazione separati. Questa separazione ti consente di eseguire il deployment dei modelli nel punto più opportuno (ad esempio, più vicino ai dati o ai cluster con hardware specifico).
- Facile integrazione dei modelli:quando implementi un modello in un cluster di destinazione, raggruppi le relative istanze di pubblicazione utilizzando un InferencePool. L'esportazione di questo InferencePool lo rende automaticamente disponibile per il routing nel cluster di configurazione.
- Bilanciamento del carico intelligente: il gateway non si limita a distribuire il traffico, ma prende decisioni di routing intelligenti. Se lo configuri per utilizzare vari indicatori, incluse le metriche personalizzate dei server dei modelli, il gateway contribuisce a garantire che le richieste in entrata vengano inviate al cluster o all'istanza del modello meglio attrezzati, il che può massimizzare le prestazioni e l'utilizzo delle risorse. Ad esempio, puoi indirizzare le richieste al cluster con la capacità di inferenza più disponibile in base a metriche come l'utilizzo della cache Key-Value (KV).
Passaggi successivi
- Per eseguire il deployment del gateway, consulta Configurare il gateway di inferenza GKE multi-cluster.
- Per scoprire come utilizzare il campo
scopesnella risorsaGCPBackendPolicy, consulta Personalizzare le configurazioni di backend con gli ambitiGCPBackendPolicy.