GKE Agent Sandbox

Mit der GKE Agent Sandbox können Sie isolierte, zustandsorientierte Arbeitslasten mit einem einzelnen Replikat in GKE verwalten. Sie ist für Anwendungsfälle wie KI-Agenten-Runtimes optimiert, in denen nicht vertrauenswürdiger, von LLMs generierter Code in einer sicheren und leistungsstarken Umgebung ausgeführt werden muss.

Das GKE Agent Sandbox-Add-on basiert auf dem Open-Source-Projekt „Agent Sandbox Controller“ und folgt dessen Releasezyklen. Als verwaltetes GKE-Add-on verwaltet Google den gesamten Lebenszyklus des Controllers, einschließlich automatischer Upgrades und Sicherheitspatches.

Dieses Dokument bietet einen konzeptionellen Überblick über die GKE Agent Sandbox.

Vorteile von GKE Agent Sandbox

GKE Agent Sandbox wurde für agentische Arbeitslasten entwickelt, die ein hohes Maß an Skalierbarkeit, Erweiterbarkeit und Sicherheit erfordern. Zu den wichtigsten Vorteilen gehören:

  • Isolation auf Kernelebene: Bietet eine starke Isolation auf Kernelebene für nicht vertrauenswürdigen, LLM-generierten Code mithilfe von integrierten GKE-Funktionen wie GKE Sandbox. Die Agent-Sandbox unterstützt auch die Open-Source-Software Kata Containers.

  • Bereitstellung in weniger als einer Sekunde: Bietet einen sofort einsatzbereiten Mechanismus, um Sandboxes deutlich schneller als mit der standardmäßigen Kubernetes-Pod-Planung bereitzustellen (in der Regel <1 Sekunde).

  • Cloud-native Erweiterbarkeit: Nutzt die Leistungsfähigkeit des Kubernetes-Paradigmas und die verwaltete Infrastruktur von GKE.

Die GKE Agent Sandbox bietet eine deklarative, standardisierte API und eine Single-Container-Umgebung mit Isolierungs- und Persistenzmerkmalen, die denen einer virtuellen Maschine (VM) ähneln. Sie basiert vollständig auf Kubernetes-Primitiven.

Häufige Anwendungsfälle für die Agent Sandbox

Verwenden Sie GKE Agent Sandbox für Arbeitslasten, die Isolation, Persistenz und eine stabile Identität erfordern. Beispiel-Anwendungsfälle umfassen Folgendes:

  • KI-Agent-Runtimes: Führen Sie nicht vertrauenswürdigen Code sicher in einer Umgebung aus, die durch sicherheitsorientierte Runtimes wie gVisor isoliert ist.
  • Entwicklungsumgebungen: Bieten Entwicklern persistente, isolierte cloudbasierte Programmierumgebungen.
  • Notebooks und Recherchetools: Hosten Sie Sitzungen mit einzelnen Containern für interaktive Tools wie Jupyter Notebooks.
  • Zustandsbehaftete Single-Pod-Dienste: Führen Sie Anwendungen aus, die eine stabile Identität und einen stabilen Speicher benötigen, ohne die Komplexität eines StatefulSet.
  • Programmatische Umgebungsverwaltung: Verwenden Sie die bereitgestellten Clientbibliotheks-SDKs, z. B. das Agent Sandbox Python SDK, um Sandboxes direkt über Ihre Anwendungslogik anzufordern und zu verwalten, ohne Kubernetes-YAML verwalten zu müssen.

Funktionsweise von GKE Agent Sandbox

GKE Agent Sandbox verwendet einen benutzerdefinierten Controller und mehrere benutzerdefinierte Kubernetes-Ressourcendefinitionen (Custom Resource Definitions, CRDs), um den Lebenszyklus von Sandbox-Umgebungen zu verwalten.

Kernarchitektur

  • Sandbox-CRD: Die primäre Ressource, die einen einzelnen, zustandsbehafteten Pod darstellt. Sie verwaltet stabile Hostnamen, Netzwerkidentität und nichtflüchtigen Speicher.
  • Sandbox-Router: Eine Komponente, die einen stabilen Endpunkt bereitstellt und Traffic an die entsprechenden Sandbox-Pods weiterleitet, wodurch die zugrunde liegende Netzwerkkomplexität abstrahiert wird.
  • Integration mit Pod-Snapshots: GKE Agent Sandbox lässt sich in die Funktion GKE-Pod-Snapshots einbinden, um Arbeitslasten zu pausieren und fortzusetzen, indem der vollständige Status eines Containers gespeichert und wiederhergestellt wird.

Anspruchsmodell

Das Claim-Modell ist ein wichtiges Feature, das die Anfrage des Nutzers nach einer Umgebung von den spezifischen Implementierungsdetails trennt, z. B. wo und wie der Arbeitslast bereitgestellt wird. Im Gegensatz zu einem Standard-Kubernetes-StatefulSet können Sie mit dem Claim-Modell eine Sandbox anfordern, ohne die zugrunde liegenden Pod- oder Speicherkonfigurationen direkt verwalten zu müssen.

Das Claim-Modell wird mit den CRDs SandboxClaim und SandboxTemplate verwaltet und funktioniert so:

  1. Nutzer oder Anwendungen fordern eine Sandbox an, indem sie ein SandboxClaim erstellen, das auf ein SandboxTemplate verweist.
  2. Der Controller übernimmt die Zuordnung des Anspruchs zu einer tatsächlichen Sandbox-Instanz und ermöglicht so eine flexible Backend-Verwaltung. So kann das System vorhandene Sandboxes wiederverwenden oder aus einem Pool zuweisen.

Warm Pools

Das Feature Warm Pool wurde entwickelt, um die Startlatenz zu minimieren. Das ist entscheidend für interaktive KI-Agentenszenarien. Mit dieser Funktion kann die Agent Sandbox Ausführungsumgebungen in weniger als einer Sekunde bereitstellen. Das ist deutlich schneller als die typische Pod-Planung. Die Funktion wird mit der CRD SandboxWarmPool verwaltet und funktioniert so:

  1. Eine SandboxWarmPool enthält eine Reihe von vorab aufgewärmten Pod-Instanzen, die bereit sind.
  2. Wenn eine SandboxClaim erstellt wird, weist der Controller sofort einen Pod aus dem Pool zu, anstatt darauf zu warten, dass ein neuer Pod Images abruft und von Grund auf neu startet.
  3. In Kombination mit Pod-Snapshots bieten Warm Pools schnelle „Instant-On“-Funktionen, da Pods aus einem vorkonfigurierten Zustand wiederhergestellt werden.

Netzwerkisolation

GKE Agent Sandbox implementiert für alle Sandbox-Umgebungen eine Default Deny-Netzwerksicherheitsstrategie. So wird sichergestellt, dass nicht vertrauenswürdiger Code, der in einer Sandbox ausgeführt wird, standardmäßig nicht auf nicht autorisierte interne Netzwerke oder die GKE-Steuerungsebene zugreifen kann. Sie können in Ihrem SandboxTemplate bestimmte Netzwerkeinschränkungen und Regeln für zulässigen ausgehenden oder eingehenden Traffic definieren, um eine detaillierte Sicherheit für agentenbasierte Arbeitslasten zu gewährleisten.

Programmatischer Zugriff mit SDKs

KI-Entwickler können GKE Agent Sandbox-Ressourcen programmatisch über die bereitgestellten Clientbibliotheken nutzen. Das Python SDK bietet beispielsweise eine übergeordnete Schnittstelle, die die zugrunde liegenden SandboxClaim- und SandboxTemplate-Konfigurationen abstrahiert. So können Sie isolierte Umgebungen direkt über Ihre Python-basierten Agent-Frameworks wie LangChain oder das Vertex AI Agentic SDK erstellen und mit ihnen interagieren.

Beschränkungen und Anforderungen

Für GKE Agent Sandbox gelten die folgenden Einschränkungen und Anforderungen:

  • Clusterversion: Für die vollständige Unterstützung von Funktionen (einschließlich Snapshots) ist GKE-Version 1.35.2-gke.1269000 oder höher erforderlich.
  • Infrastrukturanforderungen: Für bestimmte Knotenkonfigurationen (z. B. N2-Maschinentypen) optimiert und erfordert, dass der Agent Sandbox-Controller im Cluster installiert und konfiguriert ist.
  • Isolationslaufzeiten: Obwohl mehrere Laufzeiten unterstützt werden, ist die Funktion hauptsächlich für die Verwendung mit sicherheitsoptimierten Laufzeiten wie gVisor vorgesehen.
  • Verfügbarkeit zugrunde liegender Funktionen: Einige zugrunde liegende Funktionen, z. B. GKE-Pod-Snapshots, sind möglicherweise als Vorschau verfügbar oder haben eine bestimmte regionale Verfügbarkeit.

Nächste Schritte