Il gateway di inferenza multi-cluster Google Kubernetes Engine (GKE) 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 la distribuzione di modelli 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 di machine learning (ML), amministratori e operatori di piattaforme 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
GKE multi-cluster Inference Gateway offre diversi vantaggi per la gestione dei workload di inferenza AI/ML, tra cui:
- Migliora l'alta disponibilità e la tolleranza agli errori tramite il bilanciamento del carico intelligente in più cluster GKE, anche in diverse regioni geografiche. I 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 multi-cluster Inference Gateway presenta le seguenti limitazioni:
Integrazione di Model Armor: il gateway di inferenza multicluster GKE 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.
Componenti chiave
GKE multi-cluster Inference Gateway utilizza diverse risorse personalizzate Kubernetes per gestire i workload di inferenza e il routing del traffico:
InferencePool: raggruppa i backend identici del server di modelli nel cluster di destinazione. Questa risorsa semplifica la gestione e lo scaling delle istanze di servizio del modello.InferenceObjective: definisce le priorità di routing per modelli specifici all'interno di unInferencePool. 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 unInferencePoolda 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 il gateway di inferenza multi-cluster GKE
Il gateway di inferenza multi-cluster GKE gestisce e instrada il traffico verso i tuoi modelli AI/ML di cui è stato eseguito il deployment su 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 l'ingresso multicluster per il tuo parco risorse, designi 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 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 dove ha più senso (ad esempio, più vicino ai dati o ai cluster con hardware specifico).
- Facile integrazione dei modelli:quando esegui il deployment di un modello in un cluster di destinazione,
raggruppi le relative istanze di servizio utilizzando un
InferencePool. L'esportazione di questoInferencePoollo 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 instradare le richieste al cluster con la capacità di inferenza più disponibile in base a metriche come l'utilizzo della cache chiave-valore (KV).
Passaggi successivi
- Per eseguire il deployment del gateway, consulta Configurare il gateway di inferenza multi-cluster GKE.
- Per scoprire come utilizzare il campo
scopesnella risorsaGCPBackendPolicy, consulta Personalizzare le configurazioni di backend con gli ambitiGCPBackendPolicy.