Puoi ottenere un'alta disponibilità elastica tra regioni per i workload di inferenza AI impegnativi su Google Kubernetes Engine (GKE) per accedere in modo efficiente e affidabile alla capacità dell'acceleratore in diverse Google Cloud regioni. Questa soluzione utilizza GKE Multi-Cluster Inference Gateway e le funzionalità di scalabilità automatica di GKE, consentendo ai workload di accedere e scalare con la capacità dell'acceleratore in varie regioni. Questo approccio migliora la disponibilità, la scalabilità e la resilienza delle risorse per le applicazioni AI. Questo documento descrive i vantaggi, i componenti chiave e il funzionamento generale dell'alta affidabilità elastica tra regioni.
Prima di leggere questo documento, devi avere familiarità con quanto segue:
- GKE Multi-Cluster Inference Gateway
- Backend preferiti per le opzioni di bilanciamento del carico avanzate
- Gestore della scalabilità automatica dei cluster GKE
- Scalabilità automatica dei pod in base alle metriche
Questo documento è destinato alle seguenti figure professionali:
- Ingegneri di machine learning (ML), amministratori e operatori di piattaforme e specialisti di dati e AI interessati a utilizzare Kubernetes per gestire i workload di AI/ML
- Architetti cloud o specialisti di rete che interagiscono con la rete Kubernetes
Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei Google Cloud contenuti, consulta Ruoli e attività utente comuni di GKE Enterprise.
Vantaggi dell'alta affidabilità elastica tra regioni
L'alta affidabilità elastica tra regioni offre diversi vantaggi chiave per la gestione dei workload di inferenza AI/ML, tra cui:
- Maggiore capacità e scalabilità: supera le carenze di acceleratori a livello di singola regione raggruppando le risorse GPU o TPU di più cluster in regioni diverse. Puoi anche utilizzare diversi tipi di acceleratori per espandere ulteriormente il pool di capacità. Questo approccio consente ai workload di inferenza AI di superare la capacità di qualsiasi singola regione o tipo di acceleratore, sfruttando automaticamente le risorse disponibili nel parco risorse, indipendentemente dalla regione.
- Spillover automatico e maggiore affidabilità e disponibilità: il gateway instrada il traffico in modo intelligente, dando la priorità alle regioni o ai cluster preferiti. Quando vengono raggiunti i limiti di capacità in una località, il traffico viene automaticamente trasferito ad altre località con risorse disponibili. Questo approccio, combinato con i deployment multiregionali, migliora l'alta disponibilità e la tolleranza agli errori perché il sistema può ignorare i cluster o le regioni che riscontrano problemi.
- Distribuzione del traffico ottimizzata per l'AI: utilizza il bilanciamento del carico basato sull'utilizzo con metriche personalizzate specifiche per l'AI, come l'utilizzo della cache coppia chiave-valore. Questa configurazione garantisce decisioni di routing ottimizzate a livello globale. La distribuzione del traffico ottimizzata per l'AI invia le richieste ai backend attrezzati per gestirle, il che migliora la massimizzazione delle prestazioni e aiuta a prevenire il sovraccarico nel parco risorse di inferenza multi-cluster.
Come funziona l'alta affidabilità elastica tra regioni
L'alta disponibilità elastica tra regioni su GKE consente ai workload di inferenza AI di utilizzare automaticamente la capacità dell'acceleratore (ad esempio GPU o TPU) in più Google Cloud regioni. Quando la regione principale riscontra vincoli di capacità per le risorse richieste, questa soluzione instrada il traffico e scala i workload in modo intelligente verso altre regioni con capacità disponibile, rispettando le preferenze definite.
Di seguito sono illustrate le componenti chiave dell'alta affidabilità elastica tra regioni e il loro funzionamento congiunto:
- Multi-Cluster Inference Gateway: l'applicazione di inferenza viene implementata in più cluster GKE in regioni diverse. Questi cluster vengono gestiti come parte di un parco risorse GKE. Un GKE Multi-Cluster Inference Gateway (MCG) è configurato con un bilanciatore del carico interno, che fornisce un singolo endpoint privato per le richieste di inferenza. Questo gateway è a conoscenza dei deployment dei servizi in tutti i cluster del parco risorse.
- Bilanciamento basato sull'utilizzo: anziché utilizzare le tariffe di richiesta di base, il bilanciatore del carico distribuisce il traffico in base alle metriche di utilizzo personalizzate in tempo reale segnalate dai server dei modelli. Per l'inferenza AI, si tratta spesso di una metrica come l'utilizzo della cache KV, che riflette il carico effettivo sul server.
- Preferenze di località e risorse: puoi configurare le regioni o le
zone autorizzate a eseguire i workload di inferenza AI durante la
creazione del cluster e puoi specificare un ordine di preferenza utilizzando quanto segue:
GCPBackendPolicy: questa policy è collegata al gateway e consente di definire i backend preferiti. Puoi specificare le regioni (ovvero i cluster) a cui il bilanciatore del carico deve dare la priorità per l'invio del traffico. Questa policy è in genere allineata alla posizione in cui hai riservato la capacità o in cui hai requisiti di latenza inferiori.- Compute Class personalizzata (facoltativa, se utilizzi la creazione automatica del pool di nodi):
all'interno di ogni singolo cluster GKE, puoi utilizzare oggetti
ComputeClass personalizzati per definire i tipi di nodi preferiti, inclusi i tipi di
macchine (ad esempio
a3-highgpu-8g), i tipi di capacità (come riservata, on demand e spot) e persino le zone preferite all'interno di quella regione.
- Scalabilità dinamica e routing del traffico: il traffico viene scalato e instradato in base alla seguente procedura:
- Le richieste in entrata raggiungono il bilanciatore del carico interno di Multi-Cluster Ingress Gateway.
- Il bilanciatore del carico, guidato da
GCPBackendPolicy, invia prima il traffico ai backend nelle regioni preferite. - Il traffico viene distribuito all'interno di una regione e tra i backend in base alle metriche di utilizzo personalizzate.
- Horizontal-Pod-Autoscaler (HPA) in ogni cluster aumenta o diminuisce il numero di pod del server dei modelli in base alle stesse metriche di utilizzo.
- Il gestore della scalabilità automatica dei cluster GKE e il provisioning automatico dei nodi, guidati da ComputeClass personalizzata, aggiungono o rimuovono nodi dei tipi e delle zone preferiti per soddisfare le richieste di scalabilità del pod.
- Alta affidabilità elastica tra regioni in azione: se i server dei modelli nelle regioni preferite diventano completamente utilizzati (ovvero senza capacità aggiuntiva disponibile), il bilanciatore del carico trasferisce automaticamente il traffico ai cluster in altre regioni configurate con capacità disponibile. HPA e il gestore della scalabilità automatica dei cluster scalano quindi le risorse in queste regioni di fallback in base alle esigenze.
Passaggi successivi
- Scopri come implementare una soluzione di alta affidabilità elastica tra regioni in Configurare l'alta affidabilità elastica tra regioni.