Tentang Agent Sandbox di GKE

Agent Sandbox di Google Kubernetes Engine (GKE) membantu Anda mengelola workload yang terisolasi, stateful, dan satu replika. MicroVM ini dioptimalkan untuk kasus penggunaan seperti runtime agen AI, tempat kode yang tidak tepercaya dan dihasilkan LLM harus dieksekusi di lingkungan yang aman dan berperforma tinggi.

Add-on Agent Sandbox on GKE didasarkan pada project pengontrol Agent Sandbox open source dan mengikuti siklus rilisnya. Sebagai add-on GKE terkelola, Google mengelola siklus proses penuh pengontrol, termasuk upgrade otomatis dan patch keamanan.

Dokumen ini memberikan ringkasan konseptual tentang Sandbox Agen di GKE.

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: Menyediakan isolasi tingkat kernel yang kuat untuk kode yang dihasilkan LLM yang tidak tepercaya. 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 waktu kurang dari satu detik: Menawarkan mekanisme siap pakai untuk menyediakan sandbox jauh lebih cepat daripada yang diizinkan oleh penjadwalan Pod Kubernetes standar (biasanya <1 detik).

  • Ekstensibilitas cloud-native: 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 Sandbox Agen 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: Menyediakan lingkungan coding berbasis cloud yang persisten dan terisolasi bagi developer.
  • Notebook dan alat riset: Meng-hosting sesi container tunggal untuk alat interaktif seperti Notebook Jupyter.
  • Layanan Pod tunggal stateful: Menjalankan aplikasi yang memerlukan identitas dan penyimpanan yang stabil tanpa kerumitan 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 Custom Resource Definition (CRD) Kubernetes untuk mengelola siklus proses lingkungan dengan sandbox.

Arsitektur inti

  • CRD Sandbox: Resource utama yang merepresentasikan Pod tunggal dan stateful. StatefulSet mengelola nama host yang stabil, identitas jaringan, dan penyimpanan persisten.
  • 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 penangguhan dan melanjutkan workload dengan menyimpan dan memulihkan status lengkap 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 dikelola menggunakan CRD SandboxClaim dan SandboxTemplate, dan berfungsi sebagai berikut:

  1. Pengguna atau aplikasi meminta Sandbox dengan membuat SandboxClaim yang mereferensikan SandboxTemplate.
  2. Pengontrol menangani pemetaan klaim ke instance Sandbox yang sebenarnya, sehingga menawarkan pengelolaan backend yang fleksibel. Hal ini memungkinkan sistem untuk menggunakan kembali Sandbox yang ada atau mengalokasikan dari kumpulan.

Kolam Hangat

Fitur Warm Pool dirancang untuk meminimalkan latensi startup, yang sangat penting untuk skenario agen AI interaktif. Fitur ini memungkinkan Agent Sandbox di GKE menyediakan lingkungan eksekusi dalam waktu kurang dari satu detik, jauh lebih cepat daripada penjadwalan Pod biasa. Fitur ini dikelola menggunakan CRD SandboxWarmPool dan berfungsi dengan cara berikut:

  1. SandboxWarmPool mempertahankan sekumpulan instance Pod yang telah di-warm-up sebelumnya dalam keadaan siap.
  2. Saat SandboxClaim dibuat, pengontrol akan langsung menetapkan Pod dari pool, alih-alih menunggu Pod baru mengambil image dan memulai dari awal.
  3. Jika digabungkan dengan snapshot Pod, warm pool memberikan kemampuan "langsung aktif" yang cepat dengan memulihkan Pod dari status yang telah dikonfigurasi sebelumnya.

Isolasi jaringan

Sandbox Agen di GKE menerapkan postur keamanan jaringan Tolak Default untuk semua lingkungan dengan sandbox. Hal ini memastikan bahwa kode yang tidak tepercaya yang dijalankan di dalam sandbox tidak dapat mengakses jaringan internal yang tidak sah atau bidang kontrol GKE secara default. Anda dapat menentukan pembatasan jaringan tertentu dan aturan traffic keluar atau masuk yang diizinkan dalam SandboxTemplate untuk memberikan keamanan yang mendetail bagi workload agen.

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 mengabstraksi konfigurasi SandboxClaim dan SandboxTemplate yang mendasarinya. Dengan begitu, Anda dapat membuat dan berinteraksi dengan lingkungan 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: Memerlukan GKE versi 1.35.2-gke.1269000 atau yang lebih baru untuk dukungan fitur lengkap (termasuk snapshot).
  • Persyaratan infrastruktur: Dioptimalkan untuk konfigurasi node tertentu (seperti jenis mesin N2) dan mengharuskan pengontrol Agent Sandbox diinstal dan dikonfigurasi di cluster.
  • Runtime isolasi: Meskipun mendukung beberapa runtime, runtime ini terutama ditujukan untuk digunakan dengan runtime yang diperkuat keamanannya seperti gVisor.
  • Ketersediaan fitur pokok: Beberapa fitur pokok, seperti snapshot Pod GKE, mungkin dalam Pratinjau atau memiliki ketersediaan regional tertentu.

Langkah berikutnya