Informazioni su GKE Agent Sandbox

GKE Agent Sandbox ti aiuta a gestire i carichi di lavoro isolati, stateful e a replica singola su GKE. È ottimizzato per casi d'uso come i runtime degli agenti AI, in cui il codice non attendibile generato da LLM deve essere eseguito in un ambiente sicuro e performante.

L'add-on GKE Agent Sandbox si basa sul progetto del controller Agent Sandbox open source e segue i relativi cicli di rilascio. In qualità di add-on GKE gestito, Google gestisce l'intero ciclo di vita del controller, inclusi gli upgrade automatici e le patch di sicurezza.

Questo documento fornisce una panoramica concettuale di GKE Agent Sandbox.

Perché utilizzare GKE Agent Sandbox

GKE Agent Sandbox è progettato per i carichi di lavoro agentic che richiedono scalabilità, estensibilità e sicurezza di alto livello. Questi sono alcuni dei principali vantaggi:

  • Isolamento a livello di kernel: fornisce un isolamento a livello di kernel efficace per il codice non attendibile generato da LLM utilizzando tecnologie come gVisor.
  • Provisioning in meno di un secondo: offre un meccanismo predefinito per fornire sandbox in modo significativamente più rapido rispetto a quanto consentito dalla pianificazione dei pod Kubernetes standard (in genere <1 s).
  • Estensibilità cloud-native: sfrutta la potenza del paradigma Kubernetes e dell'infrastruttura gestita di GKE.

Fornendo un'API dichiarativa e standardizzata, GKE Agent Sandbox offre un'esperienza a container singolo che fornisce caratteristiche di isolamento e persistenza simili a quelle di una macchina virtuale (VM), basata interamente su primitive Kubernetes.

Casi d'uso comuni per Agent Sandbox

Utilizza GKE Agent Sandbox per i carichi di lavoro che richiedono isolamento, persistenza e un'identità stabile. Ecco alcuni esempi di casi d'uso:

  • Runtime degli agenti AI: esegui in sicurezza codice non attendibile in un ambiente isolato da runtime incentrati sulla sicurezza come gVisor.
  • Ambienti di sviluppo: fornisci agli sviluppatori ambienti di programmazione basati sul cloud persistenti e isolati.
  • Blocchi note e strumenti di ricerca: ospita sessioni a container singolo per strumenti interattivi come i blocchi note Jupyter.
  • Servizi stateful a pod singolo: esegui applicazioni che richiedono un' identità e uno spazio di archiviazione stabili senza la complessità di un StatefulSet.
  • Gestione programmatica dell'ambiente: utilizza gli SDK della libreria client forniti, come l'SDK Python di Agent Sandbox, per richiedere e gestire le sandbox direttamente dalla logica dell'applicazione senza gestire YAML Kubernetes.

Come funziona GKE Agent Sandbox

GKE Agent Sandbox utilizza un controller personalizzato e diverse definizioni di risorse personalizzate (CRD) di Kubernetes per gestire il ciclo di vita degli ambienti in sandbox.

Architettura di base

  • CRD Sandbox: la risorsa principale che rappresenta un singolo pod stateful. Gestisce nomi host stabili, identità di rete e spazio di archiviazione permanente.
  • Router Sandbox: un componente che fornisce un endpoint stabile e incanala il traffico ai pod Sandbox appropriati, astraendo la complessità di rete sottostante.
  • Integrazione con gli snapshot dei pod: GKE Agent Sandbox si integra con la funzionalità degli snapshot dei pod GKE per consentire la sospensione e la ripresa dei carichi di lavoro salvando e ripristinando lo stato completo di un container.

Modello di rivendicazione

Il modello di rivendicazione è una funzionalità chiave che separa la richiesta di un ambiente da parte dell'utente dai dettagli di implementazione specifici, ad esempio dove e come viene eseguito il provisioning del carico di lavoro. A differenza di un StatefulSet Kubernetes standard, il modello di attestazione ti consente di richiedere una sandbox senza dover gestire direttamente le configurazioni di pod o spazio di archiviazione sottostanti.

Il modello di rivendicazione viene gestito utilizzando le SandboxClaim e le SandboxTemplate CRD e funziona nel seguente modo:

  1. Gli utenti o le applicazioni richiedono una sandbox creando un SandboxClaim che fa riferimento a un SandboxTemplate.
  2. Il controller gestisce il mapping della rivendicazione a un'istanza Sandbox effettiva, offrendo una gestione flessibile del backend. Ciò consente al sistema di riutilizzare le sandbox esistenti o di allocare da un pool.

Pool di pre-avvio

La funzionalità Pool di pre-avvio è progettata per ridurre al minimo la latenza di avvio, che è fondamentale per gli scenari di agenti AI interattivi. Questa funzionalità consente ad Agent Sandbox di fornire ambienti di esecuzione in meno di un secondo, in modo significativamente più rapido rispetto alla pianificazione dei pod tipica. La funzionalità viene gestita utilizzando la SandboxWarmPool CRD e funziona nel seguente modo:

  1. Un SandboxWarmPool gestisce un insieme di istanze di pod pre-avviate in uno stato pronto.
  2. Quando viene effettuato un SandboxClaim, il controller assegna immediatamente un pod dal pool anziché attendere che un nuovo pod estragga le immagini e inizi da zero.
  3. Se combinati con gli snapshot dei pod, i pool di pre-avvio forniscono funzionalità rapide e "istantanee" ripristinando i pod da uno stato preconfigurato.

Isolamento di rete

GKE Agent Sandbox implementa una postura di sicurezza di rete Nega per impostazione predefinita per tutti gli ambienti in sandbox. Ciò garantisce che il codice non attendibile eseguito all'interno di una sandbox non possa accedere per impostazione predefinita alle reti interne non autorizzate o al piano di controllo GKE. Puoi definire restrizioni di rete specifiche e regole in uscita o in entrata consentite all'interno di SandboxTemplate per fornire una sicurezza granulare per i carichi di lavoro agentici.

Accesso programmatico con gli SDK

I tecnici AI possono utilizzare le risorse GKE Agent Sandbox in modo programmatico utilizzando le librerie client fornite. Ad esempio, l'SDK Python fornisce un'interfaccia di alto livello che astrae le configurazioni sottostanti SandboxClaim e SandboxTemplate. In questo modo puoi creare e interagire con ambienti isolati direttamente dai framework di agenti basati su Python come LangChain o l'SDK agentic di Vertex AI.

Limitazioni e requisiti

GKE Agent Sandbox presenta le seguenti limitazioni e requisiti:

Passaggi successivi