Tentang GKE Agent Sandbox

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

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

Dokumen ini memberikan ringkasan konseptual tentang GKE Agent Sandbox.

Alasan menggunakan GKE Agent Sandbox

GKE Agent Sandbox dibuat untuk workload agen yang memerlukan skala, kemampuan diperluas, dan keamanan tingkat tinggi. Manfaat utamanya meliputi:

  • Isolasi tingkat kernel: Memberikan isolasi tingkat kernel yang kuat untuk kode tidak tepercaya yang dibuat LLM menggunakan fitur GKE bawaan seperti GKE Sandbox. Agent Sandbox juga mendukung software Kata Containers open source.

  • Penyediaan kurang dari satu detik: Menawarkan mekanisme siap pakai untuk menyediakan sandbox secara signifikan lebih cepat daripada yang diizinkan oleh penjadwalan Pod Kubernetes standar (biasanya <1 detik).

  • Kemampuan diperluas native cloud: Memanfaatkan kekuatan paradigma Kubernetes dan infrastruktur terkelola GKE.

Dengan menyediakan API deklaratif dan standar, GKE Agent Sandbox menawarkan pengalaman satu container yang memberikan karakteristik isolasi dan persistensi yang mirip dengan virtual machine (VM), yang sepenuhnya dibangun di atas primitif Kubernetes.

Kasus penggunaan umum untuk Agent Sandbox

Gunakan GKE Agent Sandbox untuk workload yang memerlukan isolasi, persistensi, dan identitas yang stabil. Contoh kasus penggunaan mencakup:

  • Runtime agen AI: Mengeksekusi kode 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 satu container untuk alat interaktif seperti Jupyter Notebooks.
  • Layanan satu Pod stateful: Menjalankan aplikasi yang memerlukan identitas dan penyimpanan yang stabil tanpa kompleksitas StatefulSet.
  • Pengelolaan lingkungan terprogram: Menggunakan SDK library klien yang disediakan, seperti Agent Sandbox Python SDK, untuk meminta dan mengelola sandbox langsung dari logika aplikasi Anda tanpa mengelola Kubernetes YAML.

Cara kerja GKE Agent Sandbox

GKE Agent Sandbox menggunakan pengontrol kustom dan beberapa Definisi Resource Kustom (CRD) Kubernetes untuk mengelola siklus proses lingkungan sandbox.

Arsitektur inti

  • CRD Sandbox: Resource utama yang mewakili satu Pod stateful. CRD ini mengelola nama host yang stabil, identitas jaringan, dan penyimpanan persisten.
  • Router Sandbox: Komponen yang menyediakan endpoint stabil dan meneruskan traffic ke Pod Sandbox yang sesuai, sehingga mengabstraksi kompleksitas jaringan yang mendasarinya.
  • Integrasi dengan snapshot Pod: GKE Agent Sandbox terintegrasi dengan fitur snapshot Pod GKE untuk memungkinkan workload dijeda dan dilanjutkan 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 SandboxClaim dan SandboxTemplate CRD, 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 menggunakan kembali Sandbox yang ada atau mengalokasikan dari pool.

Pool Hangat

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

  1. SandboxWarmPool mempertahankan sekumpulan instance Pod yang telah dihangatkan sebelumnya dalam status siap.
  2. Saat SandboxClaim dibuat, pengontrol akan langsung menetapkan Pod dari pool, bukan menunggu Pod baru untuk menarik image dan memulai dari awal.
  3. Jika dikombinasikan dengan snapshot Pod, pool hangat akan memberikan kemampuan "langsung aktif" yang cepat dengan memulihkan Pod dari status yang telah dikonfigurasi sebelumnya.

Isolasi jaringan

GKE Agent Sandbox menerapkan postur keamanan jaringan Tolak Default untuk semua lingkungan sandbox. Hal ini memastikan bahwa kode tidak tepercaya yang dieksekusi 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 keluar atau masuk yang diizinkan dalam SandboxTemplate untuk memberikan keamanan terperinci bagi workload agen.

Akses terprogram dengan SDK

Engineer AI dapat menggunakan resource GKE Agent Sandbox secara terprogram menggunakan library klien yang disediakan. Misalnya, Python SDK menyediakan antarmuka tingkat tinggi yang mengabstraksi konfigurasi yang mendasarinya SandboxClaim dan SandboxTemplate. Hal ini memungkinkan Anda membuat dan berinteraksi dengan lingkungan terisolasi langsung dari framework agen berbasis Python seperti LangChain atau Vertex AI Agentic SDK.

Batasan dan persyaratan

GKE Agent Sandbox 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 yang mendasarinya: Beberapa fitur yang mendasarinya, seperti snapshot Pod GKE, mungkin dalam Pratinjau atau memiliki ketersediaan regional tertentu.

Langkah berikutnya