Tentang Agent Sandbox di GKE

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 Sandbox dan SandboxClaim
    • Skema PodSpec Kubernetes lengkap, termasuk sidecar kustom dan container init
    • Akses langsung ke akselerator hardware, seperti GPU atau TPU
    • Cluster GKE Autopilot

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:

  1. Pengguna atau aplikasi meminta sandbox dengan membuat resource SandboxClaim yang mereferensikan resource SandboxWarmPool. Warm pool merujuk ke resource SandboxTemplate yang menentukan konfigurasi sandbox.
  2. 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:

  1. Resource SandboxWarmPool mengelola sekumpulan instance Pod yang telah di-pra-penyiapan dalam status siap.
  2. Saat resource SandboxClaim dibuat, pengontrol akan menetapkan Pod yang siap dari pool, alih-alih menunggu Pod baru mengambil image dan memulai dari awal.
  3. 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