kubernetes-sigs/agent-sandbox
agent-sandbox enables easy management of isolated, stateful, singleton workloads, ideal for use cases like AI agent runtimes and reinforcement learning (RL).
解決的問題
Agent Sandbox 提供了一種標準化的方式,用於在 Kubernetes 上管理隔離的、有狀態的單容器工作負載。它解決了標準 Kubernetes 物件(如無狀態的 Deployments 或編號的 StatefulSets)在需要長期執行的容器、穩定身分與持久化儲存的使用情境下過於繁瑣的問題,例如需要安全執行不受信任程式碼的 AI 代理執行環境。
工作原理
此專案引入了 Sandbox 自訂資源定義(CRD)與一個控制器,用於管理具有穩定主機名與網路身分的單一 Pod 生命週期。它透過 Kubernetes RuntimeClass 將底層容器隔離委託給安全的「Sandbox Runtimes」(如 gVisor 或 Kata Containers),以確保強大的核心與網路隔離。
為實現可擴展的管理,專案還包含以下擴充功能:
- SandboxTemplate:定義可重複使用的設定,用於建立多個相似的沙箱。
- SandboxWarmPool:維護一個預熱的沙箱池,以減少啟動延遲。
- SandboxClaim:允許使用者從預熱池中請求並採用沙箱。
適用對象
- AI 開發者:需要在安全、隔離環境中執行 LLM 產生程式碼的 AI 代理開發者。
- 平台工程師:提供雲端開發環境或持久化筆記本會話(如 Jupyter)的工程師。
- DevOps 工程師:需要托管單一實例有狀態服務(如建置代理)但又不願承擔 StatefulSets 開銷的工程師。
主要亮點
- 強大隔離:與 gVisor 和 Kata Containers 整合,執行不受信任程式碼時提供增強的安全性。
- 穩定身分:確保每個沙箱具有一致的主機名與網路身分。
- 生命週期管理:支援工作負載的建立、排程刪除、暫停與恢復。
- 開發者友善:提供 Go 與 Python SDK,支援以程式化方式與 Sandbox API 互動。
相關
- 專案
- 專案
- Dispatch
- 專案
- 專案