Mit der Google Kubernetes Engine (GKE) Agent Sandbox können Sie isolierte, zustandsorientierte Arbeitslasten mit einem Replikat in GKE verwalten. Sie ist für Anwendungsfälle wie KI-Agent-Laufzeiten optimiert, bei 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 eine Konzeptübersicht über die GKE Agent Sandbox.
Vorteile der GKE Agent Sandbox
Die GKE Agent Sandbox wurde für Agent-Arbeitslasten entwickelt, die ein hohes Maß an Skalierbarkeit, Erweiterbarkeit und Sicherheit erfordern. Zu den wichtigsten Vorteilen gehören:
- Isolierung auf Kernelebene: Bietet eine starke Isolierung auf Kernelebene für nicht vertrauenswürdigen, von LLMs generierten Code mit Technologien wie gVisor.
- Bereitstellung in weniger als einer Sekunde: Bietet einen sofort einsatzbereiten Mechanismus, um Sandboxes deutlich schneller bereitzustellen, als es die Standardplanung von Kubernetes-Pods ermöglicht (in der Regel weniger als 1 Sekunde).
- Cloud-native Erweiterbarkeit: Nutzt die Leistungsfähigkeit des Kubernetes Paradigmas und der verwalteten Infrastruktur von GKE.
Die GKE Agent Sandbox bietet eine deklarative, standardisierte API und eine Single-Container-Umgebung, die Isolierungs- und Persistenzmerkmale ähnlich einer virtuellen Maschine (VM) bietet und vollständig auf Kubernetes-Primitiven basiert.
Häufige Anwendungsfälle für die Agent Sandbox
Verwenden Sie die GKE Agent Sandbox für Arbeitslasten, die Isolierung, Persistenz und eine stabile Identität erfordern. Beispiel-Anwendungsfälle umfassen Folgendes:
- KI-Agent-Laufzeiten: Führen Sie nicht vertrauenswürdigen Code sicher in einer Umgebung aus, die durch sicherheitsorientierte Laufzeiten wie gVisor isoliert ist.
- Entwicklungsumgebungen: Bieten Sie Entwicklern persistente, isolierte cloudbasierte Programmierumgebungen.
- Notebooks und Recherchetools: Hosten Sie Single-Container-Sitzungen für interaktive Tools wie Jupyter-Notebooks.
- Zustandsorientierte 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 wie das Agent Sandbox Python SDK, um Sandboxes direkt aus Ihrer Anwendungslogik anzufordern und zu verwalten, ohne Kubernetes-YAML zu verwalten.
Funktionsweise der GKE Agent Sandbox
Die GKE Agent Sandbox verwendet einen benutzerdefinierten Controller und mehrere benutzerdefinierte Ressourcendefinitionen (Custom Resource Definitions, CRDs) von Kubernetes, um den Lebenszyklus von Sandbox-Umgebungen zu verwalten.
Kernarchitektur
- Sandbox-CRD: Die primäre Ressource, die einen einzelnen, zustandsorientierten Pod darstellt. Sie verwaltet stabile Hostnamen, die Netzwerkidentität und nichtflüchtigen Speicher.
- Sandbox-Router: Eine Komponente, die einen stabilen Endpunkt bietet und Traffic an die entsprechenden Sandbox-Pods weiterleitet, wodurch die zugrunde liegende Netzwerkkomplexität abstrahiert wird.
- Integration mit Pod-Snapshots: Die GKE Agent Sandbox ist in die Funktion für GKE Pod-Snapshots integriert, sodass Sie Arbeitslasten anhalten und fortsetzen können, indem Sie den vollständigen Status eines Containers speichern und wiederherstellen.
Anspruchsmodell
Das Anspruchsmodell ist eine wichtige Funktion, die die Anfrage des Nutzers nach einer Umgebung von den spezifischen Implementierungsdetails trennt, z. B. wo und wie die Arbeitslast bereitgestellt wird. Im Gegensatz zu einem Standard-StatefulSet von Kubernetes können Sie mit dem Anspruchsmodell eine Sandbox anfordern, ohne die zugrunde liegenden Pod- oder Speicherkonfigurationen direkt verwalten zu müssen.
Das Anspruchsmodell wird mit den
SandboxClaim und
SandboxTemplate CRDs verwaltet und funktioniert so:
- Nutzer oder Anwendungen fordern eine Sandbox an, indem sie einen
SandboxClaimerstellen, der auf einSandboxTemplateverweist. - Der Controller verarbeitet die Zuordnung des Anspruchs zu einer tatsächlichen Sandbox-Instanz und bietet eine flexible Backend-Verwaltung. So kann das System vorhandene Sandboxes wiederverwenden oder aus einem Pool zuweisen.
Warm Pools
Die Funktion Warm Pool wurde entwickelt, um die Startlatenz zu minimieren, was für interaktive KI-Agent-Szenarien entscheidend ist. Mit dieser Funktion kann die Agent Sandbox Ausführungsumgebungen in weniger als einer Sekunde bereitstellen, was deutlich schneller ist als die typische Pod-Planung. Die Funktion wird mit der
SandboxWarmPool
CRD verwaltet und funktioniert so:
- Ein
SandboxWarmPoolverwaltet eine Reihe von vorab aufgewärmten Pod-Instanzen in einem bereiten Zustand. - Wenn ein
SandboxClaimerstellt wird, weist der Controller sofort einen Pod aus dem Pool zu, anstatt zu warten, bis ein neuer Pod Images abruft und von Grund auf neu startet. - In Kombination mit Pod-Snapshots bieten Warm Pools schnelle „Instant-On“-Funktionen, indem Pods aus einem vorkonfigurierten Zustand wiederhergestellt werden.
Netzwerkisolation
Die GKE Agent Sandbox implementiert eine Standardablehnung für die Netzwerksicherheit für alle Sandbox-Umgebungen. 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 zulässige Regeln für ausgehenden oder eingehenden Traffic definieren, um eine detaillierte Sicherheit für Agent-Arbeitslasten zu gewährleisten.
Programmatischer Zugriff mit SDKs
KI-Entwickler können GKE Agent Sandbox-Ressourcen programmatisch mit den bereitgestellten Clientbibliotheken nutzen. Das Python
SDK bietet beispielsweise eine High-Level-Schnittstelle, die die
zugrunde liegenden SandboxClaim und SandboxTemplate Konfigurationen abstrahiert. So können Sie isolierte Umgebungen direkt aus Ihren Python-basierten Agent-Frameworks wie LangChain oder dem Vertex AI Agentic SDK erstellen und mit ihnen interagieren.
Beschränkungen und Anforderungen
Für die GKE Agent Sandbox gelten die folgenden Beschränkungen und Anforderungen:
- Clusterversion: Erfordert GKE-Version 1.35.2-gke.1269000 oder höher für die vollständige Unterstützung aller Funktionen (einschließlich Snapshots).
- Infrastrukturanforderungen: Optimiert für bestimmte Knoteneinstellungen (z. B. N2-Maschinentypen) und erfordert, dass der Agent Sandbox-Controller im Cluster installiert und konfiguriert ist.
- Isolierungslaufzeiten: Obwohl mehrere Laufzeiten unterstützt werden, ist die Verwendung in erster Linie mit sicherheitshärteten Laufzeiten wie gVisor vorgesehen.
- Verfügbarkeit zugrunde liegender Funktionen: Einige zugrunde liegende Funktionen wie GKE-Pod-Snapshots sind möglicherweise in der Vorschauphase oder nur in bestimmten Regionen verfügbar.
Nächste Schritte
- Informationen zum Aktivieren der Agent Sandbox in GKE.
- Weitere Informationen zur Isolierung der Ausführung von KI-Code mit der Agent Sandbox.
- Informationen zur Verwendung von Pod-Snapshots mit der Agent Sandbox finden Sie unter Agent Sandbox-Umgebungen mit Pod-Snapshots speichern und wiederherstellen.
- Die zugrunde liegende Open-Source-Implementierung finden Sie im Agent Sandbox GitHub Projekt.
- Beispiellaufzeiten und YAML-Konfigurationen für Szenarien wie die Code ausführung oder die Computernutzung finden Sie in den Beispielen für die Agent Sandbox.
- Informationen zur programmatischen Interaktion mit Sandboxes finden Sie in der Agent Sandbox Python SDK README auf GitHub.