Evaluasi Kode Otomatis dengan Sandbox Agen di GKE

1. Pengantar

Dalam codelab ini, Anda akan men-deploy aplikasi Hackathon Judge di Google Kubernetes Engine (GKE) dan menggunakan Kubernetes-sigs Agent Sandbox untuk menjalankan beban kerja berbasis agen dengan aman dan terlindungi.

Platform ini dirancang untuk mengotomatiskan proses peninjauan, pengujian, dan penilaian project hackathon menggunakan agen LLM. Karena penilaian memerlukan evaluasi kiriman kode peserta yang tidak tepercaya, sandbox eksekusi yang aman sangat penting untuk mencegah injeksi kode, eskalasi hak istimewa, atau penyalahgunaan resource.

Yang akan Anda lakukan

  • Sediakan layanan Google Cloud target dan buat API target.
  • Lakukan inisialisasi GKE Autopilot dan instal CRD Agent Sandbox, konfigurasi cluster, dan Sandbox Router.
  • Deploy Sandbox Gateway, Sandbox Claim Template, dan Sandbox WarmPool.
  • Deploy REST Backend API, Agen pekerja Penilaian ADK, dan UI Frontend React.
  • Hubungkan perutean yang di-load balance eksternal dan akses platform untuk menjalankan alur kerja penilaian yang aman dan di-sandbox.

Yang Anda butuhkan

  • Browser web seperti Chrome.
  • Project Google Cloud yang mengaktifkan penagihan.

Resource yang dibuat dalam codelab ini seharusnya berbiaya kurang dari $5 dalam total biaya runtime.

2. Masalah: Mengevaluasi Kode Tidak Tepercaya dengan Aman

Hackathon adalah acara inovasi yang berlangsung cepat di mana peserta membuat dan mengirimkan project—sering kali termasuk kode sumber—untuk dievaluasi. Menilai kiriman ini secara manual membutuhkan waktu dan sumber daya yang besar. Menggunakan agen AI untuk mengotomatiskan penilaian adalah solusi yang menjanjikan, tetapi menimbulkan tantangan keamanan yang signifikan: bagaimana cara menjalankan kode yang disediakan peserta dengan aman yang mungkin penuh bug, berbahaya, atau membutuhkan banyak resource?

Menjalankan kode yang tidak tepercaya secara langsung di infrastruktur Anda akan membuat Anda terpapar risiko seperti:

  • Injeksi Kode: Skrip berbahaya dapat mencoba mengakses atau mengubah data sensitif.
  • Eskalasi Hak Istimewa: Kode dapat mencoba mendapatkan akses tidak sah ke sistem atau resource jaringan lain.
  • Penyalahgunaan Resource: Kode yang ditulis dengan buruk atau serangan penolakan layanan dapat menggunakan CPU, memori, atau bandwidth jaringan secara berlebihan, sehingga memengaruhi operasi lain.

Untuk mengotomatiskan penjurian hackathon dengan AI, kita memerlukan cara untuk mengeksekusi kode yang dikirimkan di lingkungan yang sepenuhnya terisolasi dari sistem kita lainnya dan kiriman lainnya.

3. Solusi: GKE Agent Sandbox

GKE Agent Sandbox adalah fitur yang dirancang untuk tantangan ini. Fitur ini membantu mengelola workload terisolasi, stateful, dan replika tunggal di GKE, serta dioptimalkan untuk kasus penggunaan seperti runtime agen AI yang kode tidak tepercayanya harus dieksekusi secara aman dan efisien.

Manfaat utama Sandbox Agen meliputi:

  • Isolasi tingkat kernel: Menyediakan isolasi tingkat kernel yang kuat untuk kode yang tidak tepercaya menggunakan teknologi seperti gVisor, sehingga mencegah kode mengakses sistem host atau container lain.
  • Penyediaan dalam waktu kurang dari satu detik: Menawarkan penyediaan lingkungan sandbox yang cepat (biasanya <1 detik), yang sangat penting untuk evaluasi kode sesuai permintaan.
  • Ekstensibilitas cloud-native: Memanfaatkan kecanggihan Kubernetes dan infrastruktur terkelola GKE.

Dengan menggunakan Agent Sandbox, kita dapat membuat lingkungan terisolasi sesuai permintaan untuk setiap kiriman hackathon. Agen penilaian AI kemudian dapat menginstruksikan Sandbox Agen untuk menjalankan pengujian, mengompilasi kode, atau melakukan langkah-langkah evaluasi lainnya dalam sandbox yang aman ini tanpa membahayakan integritas platform secara keseluruhan. Hal ini memberikan cara yang skalabel, aman, dan efisien untuk mengotomatiskan penilaian hackathon.

4. Sebelum Memulai

Mulai Cloud Shell

Klik tombol di bawah untuk memulai Google Cloud Shell, yang telah dikonfigurasi sebelumnya dengan utilitas command line developer dan cloud yang diperlukan.

Mengaktifkan API

Jalankan perintah berikut di Cloud Shell untuk mengaktifkan semua Google Cloud API target yang diperlukan untuk menjalankan platform:

gcloud services enable \
  container.googleapis.com \
  artifactregistry.googleapis.com \
  cloudbuild.googleapis.com \
  pubsub.googleapis.com \
  aiplatform.googleapis.com \
  cloudresourcemanager.googleapis.com \
  iam.googleapis.com \
  bigquery.googleapis.com \
  bigqueryconnection.googleapis.com

Alasan kami mengaktifkan API ini: Layanan Google Cloud dinonaktifkan secara default untuk mencegah akses dan tagihan yang tidak sah. Kami mengaktifkan API khusus ini untuk mengaktifkan orkestrasi penampung (GKE), penyimpanan penampung yang aman (Artifact Registry), pengemasan build serverless (Cloud Build), antrean pesan yang andal (Pub/Sub), layanan model AI (Vertex AI), konfigurasi project (Cloud Resource Manager & IAM), analisis data serverless (BigQuery), dan binding AI tingkat database (BigQuery Connection).

5. Menyiapkan Infrastruktur

Pada langkah ini, Anda akan meng-clone repositori kode dan menjalankan skrip penyiapan otomatis untuk men-deploy arsitektur cloud target dan komponen cluster dasar.

Membuat Clone Repositori

Buat clone repositori yang berisi semua layanan aplikasi, skrip penyiapan, dan deklarasi manifes Kubernetes:

git clone --depth 1 --filter=blob:none --sparse https://github.com/GoogleCloudPlatform/devrel-demos.git
cd devrel-demos
git sparse-checkout set codelabs/ai-toolkit-lab-2/hackathon-judge
cd codelabs/ai-toolkit-lab-2/hackathon-judge

Menjalankan Skrip Deployment

Penyiapan dasar resource cloud, model database, dan kebijakan cluster Kubernetes dasar Anda diotomatiskan oleh skrip deploy.sh.

Jalankan skrip:

./deploy.sh

Ikuti perintah shell interaktif untuk memberikan konfigurasi seperti Project ID aktif dan Target Region. Skrip ini secara otomatis membuat konfigurasi .env lokal, mengikat resource, mengompilasi image container, dan mendaftarkan infrastruktur dasar GKE.

Berikut adalah operasi target yang dilakukan oleh skrip:

1. Penyiapan Konfigurasi Lingkungan

Skrip ini membuat file konfigurasi .env untuk menyimpan parameter variabel project, BigQuery, Pub/Sub, dan GKE. Mengambil file ini secara dinamis akan mengisi semua definisi manifes Kubernetes berikutnya.

Alasan kami mengonfigurasi file lingkungan ini: File .env memusatkan parameter konfigurasi, sehingga memastikan bahwa manifes GKE yang kami terapkan secara manual pada langkah-langkah berikutnya menggunakan setelan regional, nama project, dan resource yang identik, serta memisahkan konfigurasi lingkungan dari kode sumber secara ketat.

2. Konfigurasi Project Target & Google Cloud CLI

Skrip ini memverifikasi bahwa utilitas gcloud, bq, kubectl, dan envsubst telah diinstal, memeriksa status autentikasi, dan mengunci target konfigurasi aktif ke project Google Cloud aktif Anda.

Alasan kami menargetkan project aktif: Menetapkan project target aktif mencegah perintah CLI memengaruhi project lain di akun Anda dan melakukan pemeriksaan autentikasi sebelum peluncuran, sehingga memastikan perintah penyiapan tidak gagal di tengah deployment karena kredensial yang tidak valid.

3. Mengaktifkan Target Google Cloud API

Skrip melakukan pemeriksaan idempoten untuk memverifikasi dan mengaktifkan API layanan Google Cloud target (GKE, Artifact Registry, Cloud Build, Pub/Sub, Vertex AI, BigQuery, dan IAM).

Alasan kami mengaktifkan Google Cloud API: Layanan cloud terkelola harus diaktifkan sebelum endpointnya dapat dijangkau atau resource dapat dibuat. Mengaktifkannya di awal akan menyiapkan gateway API GCP regional untuk menangani perintah penyediaan resource berikutnya.

4. Menyediakan Repositori Docker Artifact Registry

Skrip ini menyediakan repositori penampung Docker bernama hackathon-judge-repo di lokasi target yang dipilih.

Alasan kami membuat repositori Artifact Registry: Cluster GKE memerlukan akses yang aman ke registry container pribadi di jaringan regional yang sama untuk mengambil image aplikasi dengan cepat. Artifact Registry menyediakan host pribadi yang aman untuk membuat katalog, memindai, dan menyimpan image container Docker.

5. Menyediakan Cluster GKE Autopilot

Skrip ini menyediakan cluster Autopilot Google Kubernetes Engine (GKE) bernama hackathon-judge-cluster.

Alasan kami men-deploy cluster GKE Autopilot: GKE Autopilot mengelola penyediaan node, penskalaan, pemantauan kondisi, dan upgrade keamanan OS host secara otomatis. Layanan ini menyediakan platform container tingkat produksi untuk mengatur layanan persisten kami dan secara dinamis menjadwalkan sandbox pekerja yang aman sesuai permintaan.

6. Mengonfigurasi Topik dan Langganan Pub/Sub

Skrip ini menyediakan topik pesan (judging-tasks dan judging-results) beserta langganan API dan worker yang sesuai.

Alasan kami men-deploy topik dan langganan Pub/Sub: Mengevaluasi kiriman kode lambat dan membutuhkan banyak resource. Menggunakan arsitektur antrean pesan memisahkan API sinkron yang menghadap pengguna dari node pekerja. Backend API mengirimkan tugas ke topik judging-tasks, dan agen pekerja menarik tugas saat tersedia, sehingga mencegah pemblokiran API dan menyediakan kemampuan percobaan ulang otomatis.

7. Mengonfigurasi Set Data, Tabel, dan Koneksi AI BigQuery

Skrip ini membuat set data hackathon_judge, menerapkan skema database SQL struktural, memuat rekaman awal, dan memberikan peran AI dan penyimpanan yang diperlukan ke akun layanan koneksi BigQuery ML.

8. Memicu Build Container menggunakan Cloud Build

Skrip memicu definisi cloudbuild.yaml untuk mengompilasi UI React, server REST Go, pekerja ADK Python, dan sandbox FastAPI, mengemasnya ke dalam image container terisolasi yang diberi tag dengan SHA commit Git repositori aktif dan menyimpannya ke Artifact Registry.

9. Mendaftarkan Definisi Resource Kustom (CRD) Agent Sandbox

Skrip ini mendownload dan mendaftarkan Definisi Resource Kustom (CRD) Sandbox Agen Kubernetes-sigs terbaru (manifest.yaml dan extensions.yaml) untuk memperluas kemampuan inti GKE.

Alasan kami menginstal infrastruktur Agent Sandbox: Cluster Kubernetes standar tidak memiliki dukungan untuk mengalokasikan sandbox on-demand yang dilindungi. Mendaftarkan CRD Agent Sandbox memperluas bidang kontrol GKE, sehingga Kubernetes dapat mengatur micro-container sandbox yang aman secara native menggunakan Resource Kustom (seperti SandboxTemplate dan SandboxClaim).

10. Mengonfigurasi Namespace, Akun Layanan, dan Workload Identity

Skrip ini menyediakan namespace hackathon-judge, mendaftarkan Akun Layanan Kubernetes (KSA), dan membuat pemetaan Workload Identity untuk memberikan izin Google Cloud target ke pod GKE.

11. Men-deploy Sandbox Router

Skrip ini menerapkan manifes k8s/sandbox_router.yaml, memulai deployment dan layanan Sandbox Router, serta menunggu hingga keduanya mencapai status responsif.

Alasan kami men-deploy Sandbox Router: Sandbox Router adalah gateway bidang kontrol internal pusat. ADK mengekspos API sederhana yang dipanggil oleh agen pekerja penilaian ADK untuk mengklaim, mengakses, atau melepaskan sandbox aman, mengelola pemetaan perutean, dan mengabstraksi alokasi pod tingkat cluster dari logika aplikasi.

6. Mengonfigurasi Gateway, Klaim, dan WarmPool Agent Sandbox

Pada langkah ini, Anda akan mengonfigurasi Gateway jaringan Sandbox khusus secara manual, mendaftarkan Template Klaim Sandbox, dan men-deploy WarmPool Sandbox untuk mengaktifkan sandboxing latensi sangat rendah.

Variabel Lingkungan Sumber

Sebelum menerapkan template yang memerlukan variabel lingkungan, jalankan skrip setup-env.sh untuk mengurai dan mengekspor semua variabel yang diperlukan ke shell Anda:

source ./setup-env.sh

Menerapkan Gateway Sandbox

Deploy gateway yang dikonfigurasi secara khusus untuk merutekan traffic sandbox:

kubectl apply -f k8s/sandbox-gateway.yaml

Alasan kami men-deploy Sandbox Gateway: Sandbox Gateway bertindak sebagai pengontrol ingress berperforma tinggi yang aman dan didedikasikan hanya untuk perutean sandbox. Hal ini mengisolasi jaringan sandbox, sehingga menyediakan target lokal yang aman yang memungkinkan agen pekerja berkomunikasi dengan sandbox yang diklaim tanpa mengekspos endpoint secara eksternal.

Menerapkan Template Klaim Sandbox

Gunakan envsubst untuk mengisi definisi template sandbox dengan variabel lingkungan aktif Anda, lalu terapkan:

source ./setup-env.sh
envsubst < k8s/sandbox-claim-template.yaml | kubectl apply -f -

Alasan kami men-deploy Template Klaim Sandbox: Template Klaim Sandbox berfungsi sebagai konfigurasi blueprint yang menentukan lingkungan. File ini menentukan image container yang akan dijalankan (sudah dikemas dengan alat developer), parameter lingkungan (ID Project GCP), port, dan batas resource (target CPU/Memori). Hal ini mengonfigurasi GKE untuk menjalankan instance container ini menggunakan gVisor (runtime gvisor), yang menjamin bahwa kode peserta yang tidak tepercaya berjalan di bawah lapisan isolasi virtualisasi kernel tambahan.

Terapkan Sandbox WarmPool

Terapkan Sandbox WarmPool untuk melakukan pra-inisialisasi sandbox yang sedang berjalan:

kubectl apply -f k8s/sandbox-warmpool.yaml

Pastikan instance standby warm pool telah berhasil dimulai:

kubectl get pods -n hackathon-judge -l app=sandbox

Alasan kami men-deploy Sandbox WarmPool: Penyediaan, penjadwalan, penarikan image, dan booting pod container baru sesuai permintaan menimbulkan overhead startup yang besar (waktu mulai cold 30+ detik). Sandbox WarmPool mempertahankan pool standby pod sandbox aktif yang telah di-warm-up sebelumnya (5 replika secara default). Saat agen pekerja meminta lingkungan evaluasi, Sandbox Router akan segera mengalokasikan pod yang telah di-warm-up dan sedang berjalan, sehingga mengurangi penundaan saat memulai hingga kecepatan di bawah satu detik.

7. Men-deploy Komponen Aplikasi

Dengan infrastruktur sandbox yang aman dan aktif sepenuhnya, Anda kini akan men-deploy API backend pusat, agen pekerja, antarmuka web React, dan pemetaan Gateway ingress.

Men-deploy Backend

Deploy backend REST API orkestrator:

source ./setup-env.sh
envsubst < k8s/backend.yaml | kubectl apply -f -

Men-deploy Agen

Men-deploy agen pekerja penilaian ADK:

source ./setup-env.sh
envsubst < k8s/agent.yaml | kubectl apply -f -

Men-deploy Frontend

Deploy antarmuka pengguna web interaktif:

source ./setup-env.sh
envsubst < k8s/frontend.yaml | kubectl apply -f -

Mengonfigurasi Gateway dan Perutean eksternal

Deploy Gateway utama dan pemetaan rute HTTP ingress untuk traffic klien eksternal:

kubectl apply -f k8s/gateway.yaml

Alasan kita men-deploy External Ingress Gateway: Gateway eksternal mengekspos layanan kita menggunakan Kubernetes Gateway API. Layanan ini menyediakan alamat IP publik yang di-load balance dan memetakan rute berdasarkan aturan jalur—mengarahkan permintaan API di bawah /api/* ke Backend Go, dan memetakan semua traffic web klien lainnya (/) ke Frontend React, sehingga mengamankan akses cluster publik.

Memverifikasi Peluncuran

Blokir eksekusi shell dan tunggu hingga semua deployment layanan inti mencapai status peluncuran yang sehat dan siap:

kubectl rollout status deployment/backend -n hackathon-judge --timeout=300s
kubectl rollout status deployment/agent -n hackathon-judge --timeout=300s
kubectl rollout status deployment/frontend -n hackathon-judge --timeout=300s

8. Memverifikasi dan Menggunakan Aplikasi

Mengakses UI

Ambil alamat IP publik eksternal gateway load balancer utama yang baru disediakan:

Untuk melihat status penyediaan secara real time, jalankan perintah dengan tanda watch (-w) dan tunggu hingga alamat IP publik diisi di kolom ADDRESS:

kubectl get gateway -n hackathon-judge hackathon-judge-gateway -w

Jika berhasil disediakan, Anda akan melihat output yang mirip dengan berikut ini:

NAME                      CLASS    ADDRESS          PROGRAMMED   AGE
hackathon-judge-gateway   gke-l7   34.120.120.120   True         3m

Setelah Anda melihat alamat IP publik yang valid di kolom ADDRESS dan status PROGRAMMED adalah True, tekan Ctrl+C untuk menghentikan pengamatan.

Alasan kami mendapatkan status Gateway: Gateway API menangani ingress publik. Memeriksa status Gateway akan menampilkan alamat IP eksternal yang di-load balance dan bersifat publik yang dialokasikan oleh load balancer global eksternal Google Cloud ke cluster kami, yang merepresentasikan alamat publik platform kami.

Buka alamat IP publik yang dialokasikan di browser Anda untuk memuat dasbor Juri Hackathon.

Mengirimkan Tugas

  • Gunakan UI frontend untuk membuka dasbor, pilih hackathon.

Dasbor

  • Di project mana pun, Anda dapat mengklik Run Agent untuk memulai penilaian agen terhadap seluruh project berdasarkan rubrik.

Project

Menonton Peluncuran Sandbox

Pantau pod aktif di dalam namespace hackathon-judge untuk melihat pod sandbox yang diklaim dan disediakan secara dinamis untuk eksekusi penilaian:

kubectl get pods -n hackathon-judge -w

Periksa log pod agen pekerja untuk melihat logika evaluasi penilaian ADK langkah demi langkah:

kubectl logs -l app=agent -n hackathon-judge

Alasan kami memeriksa log Agen: Memeriksa log agen pekerja akan menampilkan langkah-langkah internal mendetail dari pipeline evaluasi secara real-time. Anda dapat melacak pengambilan tugas oleh agen ADK, permintaan penampung sandbox, eksekusi target kompilasi, analisis laporan dengan Gemini, dan publikasi kartu skor.

9. (Opsional) Cara kerjanya

Arsitektur Sandbox Agen

Meskipun fungsi AI BigQuery sangat berguna untuk mengevaluasi kiriman berbasis teks dan klaim README, penilaian project engineering memerlukan kompilasi kode, penginstalan library pihak ketiga, dan menjalankan rangkaian pengujian yang sebenarnya.

Menjalankan kode pengguna mentah menimbulkan risiko keamanan yang sangat besar, termasuk kompromi host, container breakout, dan akses resource yang tidak sah. Framework GKE Agent Sandbox mengurangi risiko ini dengan mengatur workload sandbox yang terisolasi menggunakan virtualisasi gVisor (runsc).

Alur Interaksi Sistem

Diagram di bawah memetakan cara berbagai elemen sistem berbasis peristiwa kami berkomunikasi selama eksekusi penilaian sandbox yang aman:

Cara Kerja Komponen dan Alat yang Berinteraksi

  • UI Frontend React: Menampilkan antarmuka interaktif tempat pengguna mengonfigurasi model kriteria, mendaftarkan tim, mengirimkan URL project, dan meninjau kartu skor penilaian akhir, termasuk perbedaan file lengkap dan komentar teknis.
  • Go REST Backend API: Mengelola endpoint API global. Project ini menyimpan konfigurasi project di BigQuery dan mengirimkan tugas penilaian ke Pub/Sub untuk memisahkan pipeline eksekusi komputasi berat.
  • Google Pub/Sub: Broker berorientasi pesan yang menyimpan pesan tugas dengan aman dalam antrean, mengatur komunikasi secara asinkron antara API dan instance pekerja aktif.
  • Pekerja ADK Python (Agen Supervisor): Pekerja latar belakang yang menarik tugas dari Pub/Sub. Framework ini memanfaatkan Google Agent Development Kit (ADK) untuk memulai agen supervisor tingkat tinggi, yang diinstruksikan untuk mengorkestrasi evaluasi. Supervisor memanggil alat utamanya, evaluate_repository, untuk mendelegasikan pengujian perintah mentah yang mendalam.
  • Sandbox Router & Gateway (Bidang Kontrol GKE): Gateway kontrol internal yang mendaftarkan Definisi Resource Kustom Sandbox standar (SandboxClaims, SandboxTemplates). Gateway ini mengoordinasikan jaringan GKE untuk mengalokasikan dan mengamankan pod, serta mengembalikan aliran koneksi ke klien pekerja.
  • Sandbox WarmPool: Untuk menghindari waktu mulai container GKE yang lama ("cold start" 30+ detik), WarmPool mempertahankan pod standby aktif. Saat sandbox diklaim, Router akan segera memetakannya dalam waktu kurang dari satu detik, lalu menjadwalkan daur ulang saat dirilis.
  • Isolasi gVisor (runsc): Kernel virtual ruang pengguna yang bertindak sebagai batas sandbox yang aman. Hal ini mencegat panggilan sistem dari ruang container ke kernel node GKE, sehingga memastikan bahwa perintah mentah yang berbahaya (seperti skrip sistem atau penyiapan paket) berjalan di bawah isolasi virtualisasi absolut.
  • FastAPI Sandbox Runtime: Server API Python ringan yang berjalan di dalam container sandbox. Endpoint ini mengekspos endpoint aman (/execute, /upload, /download) yang memungkinkan alat pekerja eksternal memanipulasi file dan memicu tugas shell.
  • Gemini CLI (@google/gemini-cli): Skrip agen otonom yang diinstal di dalam sandbox. Saat dipicu dengan tanda runtime lingkungan developer (--yolo), fitur ini menggunakan lembar petunjuk penilaian yang ketat (prompt.md) dan definisi kriteria (criteria.md) untuk:
    • Menganalisis hierarki codebase secara dinamis (menggunakan alat seperti tree atau ripgrep).
    • Menginstal persyaratan secara otomatis (melalui perintah seperti npm install, pip install, go build).
    • Jalankan pengujian pengembangan nyata (seperti npm test atau pytest) untuk memverifikasi fungsi.
    • Panggil model Vertex AI (melalui kredensial binding Workload Identity penampung) untuk mengevaluasi logika file, memeriksa silang klaim terhadap README, mendeteksi fitur hantu, mencatat masalah kualitas, dan menulis laporan kartu skor terstruktur ke evaluation.json.
  • Lingkungan Developer Standar: Menggabungkan node, npm, yarn, pnpm, python, pip, uv, go, gh, git, tree, ripgrep, dan playwright dalam image container sandbox, sehingga memberikan ruang kerja pengujian lengkap untuk sub-agen otonom.

10. Pembersihan

Untuk menghindari biaya berkelanjutan pada akun Google Cloud Anda, hapus resource yang dibuat selama codelab ini.

./destroy.sh

Alasan kami membersihkan resource: Google Cloud menagih berdasarkan model pemanfaatan resource. Resource aktif seperti cluster GKE Autopilot, load balancer jaringan, dan persistent disk akan dikenai biaya berkelanjutan meskipun dalam kondisi tidak digunakan. Menjalankan langkah ini akan menghapus namespace cluster untuk menghapus objek Kubernetes, dan menghapus host cluster GKE Autopilot itu sendiri untuk segera menghentikan semua biaya penagihan yang mendasarinya.

11. Selamat

Selamat! Anda telah berhasil men-deploy aplikasi Hackathon Judge dengan Agent Sandbox di GKE.

Anda telah menerapkan platform AI berbasis peristiwa yang aman dan modern yang mampu menguji dan mengevaluasi pengiriman codebase yang tidak tepercaya dalam batasan keamanan yang di-container secara terpisah.

Yang telah Anda pelajari

  • Infrastruktur GKE: Cara menyediakan GKE Autopilot dan layanan Google Cloud pendukung seperti Pub/Sub dan BigQuery.
  • Konfigurasi Sandbox Agen: Cara mengonfigurasi Definisi Resource Kustom, SandboxTemplate, SandboxClaim, dan Sandbox WarmPool berperforma tinggi.
  • Deployment Microservice: Cara mengonfigurasi binding Workload Identity dan men-deploy arsitektur microservice multi-komponen (Frontend React, REST Go, Worker ADK Agent, dan Isolated Sandbox).
  • Secure Sandboxing: Cara memanfaatkan container virtual gVisor untuk menjalankan perintah pihak ketiga yang tidak tepercaya secara aman di node GKE.

Langkah berikutnya

Dokumen referensi