1. Pengantar
Dalam codelab ini, Anda akan mempelajari cara menggunakan agen AI untuk melakukan migrasi infrastruktur yang kompleks secara otomatis. Daripada menulis manifes Kubernetes secara manual atau menjalankan skrip otomatisasi, Anda akan menyatakan niat dalam bahasa alami, dan agen akan menggunakan Model Context Protocol (MCP) dan server Gemini Cloud Assist untuk membuat dan menerapkan konfigurasi untuk Anda.
Kemampuan Server MCP GCA
Server MCP GCA menyediakan beberapa alat khusus untuk agen:
ask_cloud_assist: Ini adalah antarmuka utama untuk mendapatkan bantuan terkait Google Cloud Platform dan untuk agen Gemini Cloud Assist. Semua fungsi Gemini Cloud Assist dapat diakses melalui alat ini dan mencakup fungsi alat MCP lainnya.design_infra: Mendukung alur kerja untuk mendesain dan membangun arsitektur infrastruktur di Google Cloud Platform.investigate_issue: Ini mendukung alur kerja untuk pemecahan masalah di Google Cloud. Fitur ini dapat melakukan pemecahan masalah cepat atau pemecahan masalah yang lebih mendalam melalui resource Investigasi.invoke_operation: Mendukung alur kerja untuk membuat, memperbarui, dan menghapus resource di Google Cloud. Alat ini hanya berfungsi jika Tindakan Agen diaktifkan. Operasi tulis di Gemini Cloud Assist hanya dapat dijalankan melalui pemanggilan alat ini.optimize_costs: Mendukung alur kerja untuk menganalisis, melacak, dan mengoptimalkan biaya Google Cloud. Laporan ini memberikan perincian mendetail tentang pembelanjaan dan mengidentifikasi peluang efisiensi biaya dengan menemukan resource yang tidak ada aktivitas atau kurang dimanfaatkan.
Anda akan memulai dengan lingkungan yang sudah disiapkan dengan cluster GKE dan model yang didownload. Kemudian, Anda akan menggunakan gemini-cli untuk meminta agen memigrasikan workload dari Cloud Run ke GKE dan memulai instance inferensi Gemma dengan vLLM menggunakan model bertahap di bucket penyimpanan Anda.
Yang akan Anda lakukan
- Siapkan cluster GKE dan download model Gemma menggunakan Terraform.
- Konfigurasi
gemini-clidengan aturan agen dan server MCP. - Gunakan perintah bahasa alami tertentu untuk menginstruksikan agen agar melakukan migrasi dan deployment penuh.
- Verifikasi deployment yang dilakukan oleh agen.
Yang Anda butuhkan
- Browser web seperti Chrome.
- Project Google Cloud yang mengaktifkan penagihan.
- Token Hugging Face (diperlukan untuk mendownload model Gemma selama fase penyiapan).
Codelab ini ditujukan bagi developer dari semua level, termasuk para pemula.
Perkiraan durasi: 45-60 menit.
2. Sebelum memulai
Membuat atau memilih project Google Cloud
- Di Konsol Google Cloud, pilih atau buat project Google Cloud.
- Pastikan penagihan diaktifkan untuk project Cloud Anda.
Mulai Cloud Shell
- Klik Activate Cloud Shell di bagian atas konsol Google Cloud.
- Verifikasi autentikasi:
gcloud auth list
- Konfirmasi project Anda:
gcloud config get project
- Tetapkan jika perlu:
export PROJECT_ID=<YOUR_PROJECT_ID>
gcloud config set project $PROJECT_ID
Mengaktifkan API
Jalankan perintah ini untuk mengaktifkan semua API yang diperlukan:
gcloud services enable \
run.googleapis.com \
container.googleapis.com \
aiplatform.googleapis.com \
compute.googleapis.com \
cloudbuild.googleapis.com \
cloudresourcemanager.googleapis.com
Selain itu, aktifkan layanan MCP Gemini Cloud Assist:
gcloud beta services mcp enable geminicloudassist.googleapis.com
3. Menyiapkan Lingkungan
Pada langkah ini, Anda akan menyiapkan lingkungan dengan membuat image chatbot kustom, membuat cluster GKE, dan mendownload model Gemma ke bucket Cloud Storage.
Sering kali, organisasi memulai dengan Gemini API, tetapi kemudian memutuskan untuk bermigrasi ke model yang dihosting sendiri untuk mendapatkan kontrol dan penyesuaian yang lebih besar, atau menggunakan versi yang di-fine-tune khusus untuk bisnis mereka. Dalam codelab ini, kita menggunakan Gemma sebagai contoh model terbuka yang canggih yang dapat Anda hosting sendiri di GKE. Menyimpannya di bucket Cloud Storage akan membuatnya tersedia untuk digunakan oleh cluster kami.
Download Aset Demo
Clone folder tertentu dari repositori GitHub.
git clone --filter=blob:none --sparse https://github.com/GoogleCloudPlatform/next-26-keynotes.git
cd next-26-keynotes
git sparse-checkout set devkey/intent-to-infrastructure
cd devkey/intent-to-infrastructure
Membangun Gambar Chatbot
Sebelum menyediakan infrastruktur, Anda perlu membuat image chatbot kustom dan mengirimkannya ke Artifact Registry. Gambar ini akan digunakan oleh Cloud Run pada langkah berikutnya.
- Buat repositori Artifact Registry bernama
chatbot-repodiasia-southeast1:gcloud artifacts repositories create chatbot-repo \ --repository-format=docker \ --location=asia-southeast1 \ --description="Chatbot Docker repository" - Buka direktori
src:cd src - Bangun dan kirim image menggunakan Cloud Build:
gcloud builds submit --config cloudbuild.yaml \ --substitutions=_LOCATION="asia-southeast1",_REPOSITORY_ID="chatbot-repo",_IMAGE_NAME="chatbot",_IMAGE_TAG="latest" - Kembali ke root project:
cd ..
Menyediakan Infrastruktur Dasar
Buka direktori terraform, lalu jalankan Langkah 1 untuk membuat cluster GKE.
cd terraform
./deploy.sh demo step1 apply
Skrip ini menggunakan Terraform untuk menyediakan infrastruktur dasar. Skrip ini akan membuat VPC, cluster GKE, akun layanan, dan men-deploy layanan Cloud Run awal menggunakan image chatbot yang baru saja Anda buat.
Selama proses, Terraform akan menampilkan rencana dan meminta konfirmasi. Anda harus mengetik yes untuk menyetujui dan melanjutkan:
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Seluruh proses dapat memerlukan waktu 15-20 menit hingga selesai.
Setelah deployment selesai, cari cloud_run_url di output Terraform yang dicetak di terminal. Klik URL untuk membuka chatbot di browser Anda. Anda kini dapat berinteraksi dengan chatbot, yang saat ini berjalan dengan Gemini 2.5 Flash.
Download Model
Pada langkah ini, kita akan melakukan staging model Gemma di bucket Cloud Storage. Meskipun kami memulai dengan Gemini API terkelola, Anda dapat memilih untuk menjalankan model kustom yang di-fine-tune atau model terbuka kustom lainnya. Atau, Anda mungkin hanya ingin menjaga eksekusi model dikelola dalam cluster Anda sendiri karena alasan keamanan atau kepatuhan. Menyiapkan model di sini akan menyiapkan kita untuk migrasi dari Gemini API terkelola ke model yang dihosting sendiri di GKE.
Jalankan Langkah 2 untuk mendownload model Gemma ke bucket GCS Anda. Anda akan memerlukan token Hugging Face Anda. Proses ini berjalan di cluster GKE Anda, dan akan memerlukan waktu sekitar 15 menit (atau lebih lama, bergantung pada traffic) untuk mendownload model dari Hugging Face dan menguploadnya ke bucket Anda untuk digunakan nanti.
./deploy.sh demo step2 apply -var="hf_token=<YOUR_HF_TOKEN>"
Perintah Terraform ini membuat Tugas Kubernetes di cluster GKE Anda untuk menangani download. Skrip Terraform akan tetap aktif selama tugas berjalan.
Jika Anda ingin memantau progres dari sesi shell yang berbeda, atau memverifikasi bahwa progres telah selesai setelah dijalankan, Anda dapat menjalankan:
kubectl get jobs
4. Menyiapkan Agen dan MCP
Sekarang kita akan mengonfigurasi agen yang akan melakukan migrasi. Kita akan menggunakan gemini-cli dan melengkapinya dengan aturan untuk berinteraksi dengan lingkungan.
Server MCP Gemini Cloud Assist (GCA) adalah komponen penting dalam alur ini. Agen ini berfungsi sebagai jembatan antara agen sisi klien dan Google Cloud, sehingga memungkinkan agen melakukan investigasi, membuat rencana (seperti perintah gcloud dan kubectl), dan menerapkan perubahan langsung ke resource dalam project cloud Anda.
Pastikan Anda telah diberi peran yang memungkinkan panggilan alat MCP, seperti roles/geminicloudassist.user. Jika Anda mengalami masalah izin di kemudian hari, lihat dokumentasi tentang cara mengonfigurasi peran IAM untuk Cloud Assist.
Untuk mengetahui petunjuk yang lebih mendetail tentang cara mengintegrasikan Gemini Cloud Assist dengan alat pihak ketiga, lihat dokumentasi Mengintegrasikan Gemini Cloud Assist dengan alat pihak ketiga menggunakan MCP.
Menginstal Ekstensi Gemini Cloud Assist
- Lakukan autentikasi melalui Kredensial Default Aplikasi (ADC) dengan menjalankan:
gcloud auth application-default login
- Instal server MCP sebagai ekstensi Gemini CLI:
gemini extensions install https://github.com/GoogleCloudPlatform/gemini-cloud-assist-mcp
- Pastikan skill berhasil diinstal: Mulai
geminidan jalankan perintah berikut untuk mencantumkan skill aktif:
/skills list
Pastikan Anda melihat skill yang terkait dengan Gemini Cloud Assist dalam daftar. Ketik exit untuk kembali ke perintah Cloud Shell.
Mengaktifkan Mutasi di Gemini Cloud Assist
Agar agen dapat menerapkan perubahan pada infrastruktur Anda, Anda harus mengaktifkan fitur mutasi di UI Gemini Cloud Assist.
- Buka Sidebar Gemini Assist dengan mengklik logo Gemini di kanan atas jendela Konsol Google Cloud.

- Aktifkan API yang diperlukan yang tercantum di sidebar.

- Buka setelan di sidebar, lalu centang "Aktifkan Cloud Assist untuk menjalankan tindakan".


Mengonfigurasi Aturan Agen
Direktori project menyertakan file gemini.md kustom di root folder (intent-to-infrastructure). File ini berisi aturan yang memandu agen untuk menggunakan alat yang benar.
Verifikasi bahwa file ini ada di direktori Anda. Anda harus menjalankan gemini dari direktori ini agar memiliki akses ke file Terraform, kode aplikasi, dan file aturan gemini.md.
5. Langkah 1: Memigrasikan Chatbot ke GKE
Sekarang kita akan menggunakan agen untuk melakukan bagian pertama migrasi: memindahkan aplikasi chatbot dari Cloud Run ke GKE.
- Mulai
geminidari root direktoriintent-to-infrastructure(pastikan memiliki akses kegemini.md). - Pertama, mari minta agen untuk menjelajahi project guna memahami aplikasi dan infrastruktur. Masukkan perintah berikut:
Tell me about the app and infrastructure in this project
Agen akan membaca file di direktori dan memberi Anda ringkasan aplikasi chatbot dan konfigurasi Terraform.
- Sekarang, gunakan perintah berikut untuk menginstruksikan agen melakukan migrasi.
Convert my Cloud Run service to the equivalent on GKE.
- Agen harus:
- Gunakan alat
ask_cloud_assistuntuk memahami konteksnya. - Gunakan alat
design_infrauntuk membuat YAML Kubernetes untuk aplikasi chatbot. - Tanyakan: "Apakah Anda ingin melanjutkan penerapan konfigurasi ini?"
- Gunakan alat
- Respons dengan
yesuntuk menerapkan perubahan. Agen akan menggunakaninvoke_operationuntuk men-deploy resource ke cluster GKE Anda.
Verifikasi Langkah 1
- Dapatkan daftar layanan:
kubectl get services
Anda akan melihat layanan untuk aplikasi chatbot berjalan.
- Teruskan port layanan untuk mengakses chatbot:
kubectl port-forward svc/chatbot-service 8080:80
(Catatan: Ganti
chatbot-service
dengan nama sebenarnya dari layanan yang dihasilkan oleh agen jika berbeda).
Uji chatbot. Aplikasi tersebut akan tetap merespons menggunakan Gemini API (seperti yang dikonfigurasi di Cloud Run).
6. Langkah 2: Deploy Gemma melalui vLLM dan Hubungkan Kembali
Pada langkah ini, kita akan menggunakan agen untuk men-deploy model Gemma yang dihosting sendiri di GKE dan menghubungkan kembali aplikasi kita ke model tersebut.
- Di sesi
geminiyang sama, masukkan perintah berikut:
Now that the chatbot is on GKE, add a vLLM service running the Gemma model from my storage bucket in the same cluster. Make sure to give the vLLM service at least 10 minutes to start up to account for loading the large model. Then, update the chatbot service to reference this vLLM service instead of the Gemini API.
- Agen harus:
- Gunakan
design_infrauntuk membuat YAML bagi deployment dan layanan vLLM. - Perbarui YAML deployment chatbot untuk mengubah variabel lingkungan (atau konfigurasi) agar mengarah ke layanan vLLM baru, bukan Gemini API.
- Minta konfirmasi untuk menerapkan perubahan.
- Gunakan
- Respons dengan
yesuntuk menerapkan perubahan.
Verifikasi Langkah 2
- Dapatkan daftar pod lagi:
kubectl get pods
Sekarang Anda akan melihat pod untuk chatbot dan vLLM.
- Setelah vLLM siap, teruskan port layanan chatbot lagi jika diperlukan dan uji. Sekarang, aplikasi ini akan didukung oleh model Gemma yang dihosting sendiri.
7. Pembersihan
Untuk menghindari biaya berkelanjutan pada akun Google Cloud Anda, hapus resource yang dibuat selama codelab ini.
Jalankan perintah destroy untuk infrastruktur dasar:
cd terraform
./deploy.sh demo step1 destroy
Selain itu, Anda dapat meng-uninstal atau menonaktifkan ekstensi Gemini Cloud Assist jika ingin membersihkan lingkungan lokal Anda. Gunakan gemini extensions uninstall atau gemini extensions disable, diikuti dengan nama ekstensi.
8. Langkah berikutnya
Untuk mempelajari lebih lanjut Gemini Cloud Assist dan fitur lanjutan, lihat referensi berikut:
9. Selamat
Selamat! Anda telah berhasil melakukan migrasi workload yang didorong agen ke GKE menggunakan bahasa alami dan MCP.