Informazioni su GKE Agent Sandbox

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

Il componente aggiuntivo GKE Agent Sandbox si basa sul progetto open source del controller Agent Sandbox e ne segue i cicli di rilascio. In qualità di componente aggiuntivo GKE gestito, Google gestisce l'intero ciclo di vita del controller, inclusi upgrade automatici e patch di sicurezza.

Questo documento fornisce una panoramica concettuale di GKE Agent Sandbox.

Perché utilizzare GKE Agent Sandbox

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

  • Isolamento a livello di kernel: fornisce un isolamento forte a livello di kernel per codice non attendibile generato da LLM utilizzando tecnologie come gVisor.
  • Provisioning in meno di un secondo: offre un meccanismo predefinito per fornire sandbox molto più velocemente di 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 contenitore singolo che fornisce caratteristiche di isolamento e persistenza simili a 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. Esempi di casi d'uso:

  • Runtime dell'agente AI: esegui in modo sicuro codice non attendibile in un ambiente isolato da runtime incentrati sulla sicurezza come gVisor.
  • Ambienti di sviluppo: fornisci agli sviluppatori ambienti di programmazione persistenti e isolati basati sul cloud.
  • Notebook e strumenti di ricerca: ospita sessioni a contenitore singolo per strumenti interattivi come Jupyter Notebooks.
  • Servizi stateful a singolo pod: 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 delle librerie client forniti, come l'SDK Python di Agent Sandbox, per richiedere e gestire le sandbox direttamente dalla logica dell'applicazione senza gestire Kubernetes YAML.

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à 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 dell'utente di un ambiente dai dettagli di implementazione specifici, ad esempio dove e come viene provisionato il workload. A differenza di un StatefulSet Kubernetes standard, il modello di richiesta ti consente di richiedere un ambiente sandbox senza dover gestire direttamente le configurazioni di pod o archiviazione sottostanti.

Il modello di rivendicazione viene gestito utilizzando i CRD SandboxClaim e SandboxTemplate 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 la mappatura della richiesta a un'istanza Sandbox effettiva, offrendo una gestione del backend flessibile. In questo modo, il sistema può riutilizzare le sandbox esistenti o allocarle da un pool.

Piscine calde

La funzionalità Warm Pool è progettata per ridurre al minimo la latenza di avvio, fondamentale per gli scenari di agenti AI interattivi. Questa funzionalità consente alla sandbox dell'agente di fornire ambienti di esecuzione in meno di un secondo, molto più velocemente della pianificazione tipica dei pod. La funzionalità viene gestita utilizzando il SandboxWarmPool CRD e funziona nel seguente modo:

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

Isolamento della rete

GKE Agent Sandbox implementa una postura di sicurezza di rete Nega per impostazione predefinita per tutti gli ambienti sandbox. In questo modo, il codice non attendibile eseguito all'interno di una sandbox non può accedere alle reti interne non autorizzate o al control plane GKE per impostazione predefinita. Puoi definire restrizioni di rete specifiche e regole in uscita o in entrata consentite all'interno del tuo SandboxTemplate per fornire una sicurezza granulare per i carichi di lavoro agentici.

Accesso programmatico con gli SDK

Gli ingegneri dell'AI possono utilizzare le risorse di 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 SandboxClaim e SandboxTemplate sottostanti. In questo modo puoi creare e interagire con ambienti isolati direttamente dai framework di agenti basati su Python, come LangChain o l'SDK Vertex AI Agentic.

Limitazioni e requisiti

GKE Agent Sandbox presenta le seguenti limitazioni e requisiti:

  • Versione del cluster: richiede GKE versione 1.35.2-gke.1269000 o successive per il supporto completo delle funzionalità (inclusi gli snapshot).
  • Requisiti dell'infrastruttura: ottimizzato per configurazioni di nodi specifiche (ad esempio i tipi di macchine N2) e richiede che il controller Agent Sandbox sia installato e configurato sul cluster.
  • Runtime di isolamento: sebbene supporti più runtime, è destinato principalmente all'uso con runtime con sicurezza avanzata come gVisor.
  • Disponibilità delle funzionalità sottostanti: alcune funzionalità sottostanti, come gli snapshot dei pod GKE, potrebbero essere in anteprima o avere una disponibilità regionale specifica.

Passaggi successivi