Informazioni su GKE Inference Gateway multi-cluster

Il gateway di inferenza di Google Kubernetes Engine (GKE) multi-cluster bilancia il carico dei workload di inferenza AI/ML su più cluster GKE. Integra i gateway multi-cluster GKE per il routing del traffico tra cluster con il gateway di inferenza per l'erogazione del modello AI/ML. Questa integrazione migliora la scalabilità e la disponibilità elevata dei deployment. Questo documento illustra i concetti e i vantaggi principali del gateway.

Per saperne di più su come eseguire il deployment del gateway di inferenza GKE multi-cluster, consulta Configurare il gateway di inferenza GKE multi-cluster Inference Gateway.

Per comprendere questo documento, devi avere familiarità con quanto segue:

Questo documento è rivolto alle seguenti figure:

  • 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 workload AI/ML.
  • Architetti cloud o specialisti di networking che interagiscono con il networking Kubernetes.

Per saperne di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei Google Cloud contenuti, consulta Ruoli e attività comuni degli utenti di GKE Enterprise tasks.

Vantaggi del gateway di inferenza GKE multi-cluster

Il gateway di inferenza GKE multi-cluster offre diversi vantaggi per la gestione dei workload di inferenza AI/ML, tra cui:

  • Migliora l'alta affidabilità e la tolleranza agli errori grazie al bilanciamento del carico intelligente su più cluster GKE, anche in regioni geografiche diverse. I workload 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 raggruppamento consente ai 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 il routing ottimizzato a livello globale. Il gateway utilizza metriche avanzate, come l'utilizzo della cache chiave-valore (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ì il rendimento complessivo del parco risorse di inferenza AI/ML.

Limitazioni

Il gateway di inferenza GKE multi-cluster presenta le seguenti limitazioni:

  • Integrazione di Model Armor: il gateway di inferenza GKE multi-cluster 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 riuscite (2xx). Ignora gli errori e i timeout. Questo comportamento può indurre il bilanciatore del carico del server globale (GSLB) a sottostimare il carico effettivo sui backend di failover, potenzialmente indirizzando più traffico ai servizi già sovraccarichi. Per attenuare questo problema, configura un timeout di richiesta più lungo. Ad esempio, è consigliato un valore di 600s.

  • 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 cluster regionale tipico (tre zone) genera 24 NEG. Pertanto, un gateway multi-cluster può aggregare un InferencePool di questo tipo da un massimo di due cluster (due cluster × 24 NEG = 48 NEG) prima di raggiungere il limite di 50 NEG.

Componenti chiave

Il GKE Inference Gateway multi-cluster utilizza diverse risorse personalizzate di 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 la scalabilità delle istanze di gestione dei modelli. 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 dei modelli per la configurazione del routing utilizzando HTTPRoute nel 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 multi-cluster.
  • GCPBackendPolicy: personalizza il modo in cui il traffico viene bilanciato del carico sui backend. Ad esempio, puoi attivare il bilanciamento del carico in base a metriche personalizzate o impostare limiti per le richieste in corso per endpoint per proteggere i server di modelli.
  • AutoscalingMetric: definisce metriche personalizzate, ad esempio vllm:kv_cache_usage_perc, da esportare dai server di modelli. Puoi quindi utilizzare queste metriche all'interno di GCPBackendPolicy per prendere decisioni di bilanciamento del carico più intelligenti e ottimizzare il rendimento e l'utilizzo delle risorse.

Come funziona il gateway di inferenza GKE multi-cluster

Il gateway di inferenza GKE multi-cluster gestisce e instrada il traffico verso i modelli AI/ML di cui hai eseguito il deployment su più cluster GKE. Funziona nel seguente modo:

  • 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 multi-cluster. Quando abiliti Ingress multi-cluster per il 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 modelli nell'intero parco risorse di cluster GKE da un'unica posizione.
  • Deployment flessibile dei modelli:i 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 gestione 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 in modo che utilizzi vari segnali, incluse le metriche personalizzate dei server di modelli, il gateway contribuisce a garantire che le richieste in entrata vengano inviate al cluster o all'istanza del modello più attrezzati, il che può massimizzare il rendimento 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