Agent Sandbox di Google Kubernetes Engine (GKE) membantu Anda mengelola workload yang terisolasi, stateful, dan satu replika dengan menjalankan setiap sandbox di Pod Kubernetes khusus. Arsitektur berbasis Pod ini mendukung kasus penggunaan seperti runtime agen AI, tempat kode yang tidak tepercaya dan dihasilkan LLM harus berjalan di lingkungan yang terisolasi.
Agent Sandbox adalah project open source di bawah Kubernetes SIG Apps. Untuk menggunakan Agent Sandbox di GKE, instal pengontrol Agent Sandbox di cluster Anda. Anda bertanggung jawab untuk mengupgrade pengontrol. Untuk mengetahui petunjuknya, lihat Menginstal Agent Sandbox di GKE.
Dokumen ini memberikan ringkasan konseptual tentang Agent Sandbox di GKE.
Memilih antara arsitektur berbasis Pod dan berbasis aktor
GKE menawarkan dua arsitektur untuk mengorkestrasi workload agen AI:
- Agent Substrate di GKE (berbasis aktor): gunakan arsitektur ini untuk sebagian besar workload agentic, terutama agen stateful yang sering ditangguhkan dan dilanjutkan. Agen aktif berbagi kumpulan Pod hangat, bukan mempertahankan Pod khusus per agen, sehingga Anda dapat menjalankan lebih banyak agen di lebih sedikit node. Agent Substrate di GKE menyediakan penangguhan dan pelanjutan otomatis untuk workload yang tidak ada aktivitas. Sistem menyimpan memori dan file setiap agen yang tidak ada aktivitas ke penyimpanan dan memulihkan agen dalam waktu kurang dari satu detik. Sebaliknya, Agent Sandbox di GKE memerlukan snapshot Pod manual, dan Anda perlu membangun kode aplikasi untuk mendeteksi ketidakaktifan dan menyimpan progres agen. Agent Substrate di GKE memerlukan cluster GKE Standard. Untuk mengetahui informasi selengkapnya, lihat Tentang Agent Substrate di GKE.
- Agent Sandbox di GKE (berbasis Pod): gunakan arsitektur ini jika setiap agen memerlukan Pod Kubernetes khusus di cluster GKE Autopilot atau Standard. Pilih opsi ini untuk agen atau workload yang terus aktif dan memerlukan salah satu hal berikut:
- Kubernetes API deklaratif, seperti resource kustom
SandboxdanSandboxClaim - Skema
PodSpecKubernetes lengkap, termasuk sidecar kustom dan container init - Akses langsung ke akselerator hardware, seperti GPU atau TPU
- Cluster GKE Autopilot
- Kubernetes API deklaratif, seperti resource kustom
Alasan menggunakan Agent Sandbox di GKE
Agent Sandbox di GKE dibuat untuk workload agentic yang memerlukan skala, ekstensibilitas, dan keamanan tingkat tinggi. Manfaat utamanya meliputi:
Isolasi tingkat kernel: Memberikan isolasi tingkat kernel yang kuat untuk kode yang tidak tepercaya dan dihasilkan LLM. Agent Sandbox di GKE juga berfungsi dengan Kata Containers open source. Untuk mengetahui tutorial tentang cara menggunakan Kata Containers open source dengan Agent Sandbox di GKE, lihat Mengaktifkan Kata Containers di GKE.
Penyediaan dalam hitungan detik: Menyediakan sandbox dari warm pool, biasanya dalam waktu kurang dari satu detik, tanpa harus menunggu penjadwalan dan startup Pod Kubernetes standar.
Ekstensi berbasis cloud: Memanfaatkan kecanggihan paradigma Kubernetes dan infrastruktur terkelola GKE.
Dengan menyediakan API deklaratif dan terstandardisasi, Agent Sandbox di GKE menawarkan pengalaman container tunggal yang memberikan karakteristik isolasi dan persistensi yang mirip dengan virtual machine (VM), yang dibangun seluruhnya di primitif Kubernetes.
Kasus penggunaan umum untuk Agent Sandbox di GKE
Gunakan Agent Sandbox di GKE untuk workload yang memerlukan isolasi, persistensi, dan identitas yang stabil. Contoh kasus penggunaan mencakup:
- Runtime agen AI: Jalankan kode yang tidak tepercaya dengan aman di lingkungan yang diisolasi oleh runtime yang berfokus pada keamanan seperti gVisor.
- Lingkungan pengembangan: Memberikan lingkungan coding berbasis cloud yang persisten dan terisolasi kepada developer.
- Notebook dan alat riset: Menghosting sesi container tunggal untuk alat interaktif seperti Jupyter Notebook.
- Layanan Pod tunggal stateful: Menjalankan aplikasi yang memerlukan identitas dan penyimpanan yang stabil tanpa kompleksitas
StatefulSet. - Pengelolaan lingkungan terprogram: Gunakan SDK library klien yang disediakan, seperti Agent Sandbox Python SDK, untuk meminta dan mengelola sandbox langsung dari logika aplikasi Anda tanpa mengelola YAML Kubernetes.
Cara kerja Agent Sandbox di GKE
Agent Sandbox di GKE menggunakan pengontrol kustom dan beberapa Definisi Resource Kustom (CRD) Kubernetes untuk mengelola siklus proses lingkungan yang di-sandbox.
Arsitektur inti
- Resource kustom
Sandbox: resource utama yang mewakili satu Pod stateful. Resource ini mengelola nama host, identitas jaringan, dan penyimpanan persisten yang stabil. - Router Sandbox: komponen yang menyediakan endpoint stabil dan membuat tunnel traffic ke Pod Sandbox yang sesuai, sehingga mengabstraksi kompleksitas jaringan yang mendasarinya.
- Integrasi dengan snapshot Pod: Agent Sandbox di GKE terintegrasi dengan fitur snapshot Pod GKE untuk memungkinkan menjeda dan melanjutkan workload dengan menyimpan dan memulihkan status penuh container.
Model klaim
Model klaim adalah fitur utama yang memisahkan permintaan pengguna untuk
lingkungan dari detail implementasi tertentu, seperti tempat dan cara
workload disediakan. Tidak seperti StatefulSet Kubernetes standar, model klaim memungkinkan Anda meminta sandbox tanpa perlu mengelola konfigurasi Pod atau penyimpanan yang mendasarinya secara langsung.
Model klaim menggunakan resource kustom SandboxClaim, SandboxWarmPool, dan
SandboxTemplate serta berfungsi sebagai berikut:
- Pengguna atau aplikasi meminta sandbox dengan membuat resource
SandboxClaimyang mereferensikan resourceSandboxWarmPool. Warm pool merujuk ke resourceSandboxTemplateyang menentukan konfigurasi sandbox. - Pengontrol menetapkan sandbox yang siap dari warm pool ke klaim. Jika tidak ada sandbox di kumpulan yang siap, pengontrol akan membuat sandbox baru untuk klaim dari template.
Kolam hangat
Fitur warm pool dirancang untuk meminimalkan latensi startup untuk skenario agen AI interaktif. Dengan menggunakan warm pool, Agent Sandbox di GKE dapat menyediakan lingkungan eksekusi dalam waktu kurang dari satu detik. Fitur ini menggunakan resource kustom SandboxWarmPool dan berfungsi
sebagai berikut:
- Resource
SandboxWarmPoolmengelola sekumpulan instance Pod yang telah di-pra-penyiapan dalam status siap. - Saat resource
SandboxClaimdibuat, pengontrol akan menetapkan Pod yang siap dari pool, alih-alih menunggu Pod baru mengambil image dan memulai dari awal. - Jika digabungkan dengan snapshot Pod, warm pool dapat memulihkan Pod dari status yang telah dikonfigurasi sebelumnya, bukan memulainya dari awal.
Isolasi jaringan
Agent Sandbox di GKE menerapkan postur keamanan jaringan Tolak Default
untuk sandbox yang Anda buat dari resource SandboxTemplate. Untuk setiap resource SandboxTemplate, pengontrol membuat resource NetworkPolicy yang membantu memastikan bahwa eksekusi kode yang tidak tepercaya di dalam sandbox tidak dapat mengakses jaringan internal yang tidak sah atau bidang kontrol GKE secara default. Anda dapat menentukan batasan jaringan tertentu dan aturan egress atau ingress yang diizinkan dalam resource SandboxTemplate untuk memberikan keamanan yang mendetail bagi workload agen.
Pengontrol tidak membuat resource NetworkPolicy untuk resource Sandbox yang Anda buat secara langsung. Untuk membatasi akses jaringan bagi sandbox ini, buat resource NetworkPolicy Anda sendiri.
Akses terprogram dengan SDK
Engineer AI dapat menggunakan resource Agent Sandbox di GKE secara terprogram menggunakan library klien yang disediakan. Misalnya,
Python SDK menyediakan antarmuka tingkat tinggi yang membuat resource
SandboxClaim yang mendasarinya untuk Anda. Klaim tersebut merujuk ke resource SandboxWarmPool
yang Anda buat. Antarmuka ini memungkinkan Anda membuat dan berinteraksi dengan
lingkungan yang terisolasi langsung dari framework agen berbasis Python seperti
LangChain atau Vertex AI Agentic SDK.
Batasan dan persyaratan
Agent Sandbox di GKE memiliki batasan dan persyaratan berikut:
- Versi cluster: Agent Sandbox di GKE berjalan di versi GKE yang didukung. Untuk menggunakan snapshot Pod, cluster Anda harus menjalankan GKE versi 1.35.3-gke.1234000 atau yang lebih baru.
- Persyaratan infrastruktur: Memerlukan pengontrol Agent Sandbox untuk
diinstal dan dikonfigurasi
pada cluster. Agent Sandbox di GKE tidak memerlukan
jenis mesin tertentu. Misalnya, panduan pemasangan menggunakan node
e2-standard-2. Namun, snapshot Pod tidak mendukung jenis mesin E2, jadi jika Anda berencana menggunakan snapshot Pod, gunakan seri mesin lain, seperti N2. - Runtime isolasi: Agent Sandbox di GKE mendukung gVisor dan microVMs sebagai runtime isolasi. Snapshot pod memerlukan gVisor dan tidak berfungsi dengan microVM. Jika Anda tidak menentukan runtime sandbox, sandbox akan berjalan tanpa isolasi kernel, yang tidak kami rekomendasikan untuk kode yang tidak tepercaya.
- Ketersediaan fitur dasar: Beberapa fitur dasar, seperti snapshot Pod GKE, mungkin dalam Pratinjau atau memiliki ketersediaan regional tertentu.
Langkah berikutnya
- Pelajari cara menginstal Agent Sandbox di GKE.
- Pelajari lebih lanjut cara mengisolasi eksekusi kode AI dengan Agent Sandbox di GKE.
- Untuk mempelajari cara menggunakan snapshot Pod dengan Agent Sandbox di GKE, lihat Menyimpan dan memulihkan Agent Sandbox di lingkungan GKE dengan snapshot Pod.
- Pelajari orkestrasi agen berbasis aktor di Tentang Agent Substrate di GKE.
- Pelajari cara menggunakan Kata Containers open source dengan Agent Sandbox di GKE. Kata Containers bukan produk Google Cloud . Jika Anda menginstal dan menggunakan software ini, Anda bertanggung jawab atas pengelolaan dan pemecahan masalah. Dukungan dan SLA Google tidak berlaku untuk Kata Containers.
- Untuk mengetahui implementasi open source yang mendasarinya, lihat project GitHub Agent Sandbox.
- Untuk mengetahui contoh runtime dan konfigurasi YAML untuk skenario seperti eksekusi kode atau penggunaan komputer, lihat contoh Agent Sandbox.
- Untuk berinteraksi dengan sandbox secara terprogram, lihat README Agent Sandbox Python SDK di GitHub.