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 maksud Anda dalam bahasa alami, dan agen akan menggunakan server Model Context Protocol (MCP) dan 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 bantuan 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: Alat ini mendukung alur kerja untuk mendesain dan membuat arsitektur infrastruktur di Google Cloud Platform.investigate_issue: Alat ini mendukung alur kerja untuk pemecahan masalah di Google Cloud. Alat ini dapat melakukan pemecahan masalah cepat atau pemecahan masalah yang lebih mendalam melalui resource Investigasi.invoke_operation: Alat ini mendukung alur kerja untuk membuat, mengupdate, dan menghapus resource di Google Cloud. Alat ini hanya berfungsi jika Tindakan Agen diaktifkan. Operasi tulis di Gemini Cloud Assist hanya dapat dieksekusi melalui pemanggilan alat ini.optimize_costs: Alat ini mendukung alur kerja untuk menganalisis, melacak, dan mengoptimalkan biaya Google Cloud. Alat ini memberikan perincian mendetail tentang pembelanjaan dan mengidentifikasi peluang untuk efisiensi biaya dengan menemukan resource yang tidak ada aktivitas atau kurang dimanfaatkan.
Anda akan memulai dengan lingkungan yang telah disiapkan sebelumnya 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 yang disiapkan di bucket penyimpanan Anda.
Yang akan Anda lakukan
- Menyiapkan cluster GKE dan mendownload model Gemma menggunakan Terraform.
- Mengonfigurasi
gemini-clidengan aturan agen dan server MCP. - Menggunakan perintah bahasa alami tertentu untuk menginstruksikan agen melakukan migrasi dan deployment penuh.
- Memverifikasi deployment yang dilakukan oleh agen.
Yang akan 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 diperlukan:
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 kontrol dan penyesuaian yang lebih besar, atau menggunakan versi yang disesuaikan dengan bisnis mereka. Dalam codelab ini, kita menggunakan Gemma sebagai contoh model terbuka yang andal yang dapat Anda hosting sendiri di GKE. Dengan menyiapkannya di bucket Cloud Storage, model ini akan tersedia untuk digunakan oleh cluster kita.
Mendownload 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 Image Chatbot
Sebelum menyediakan infrastruktur, Anda perlu membangun image chatbot kustom dan mengirimkannya ke Artifact Registry. Image 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 dan jalankan Langkah 1 untuk membuat cluster GKE.
cd terraform
./deploy.sh demo step1 apply
Skrip ini menggunakan Terraform untuk menyediakan infrastruktur dasar. Skrip ini membuat VPC, cluster GKE, akun layanan, dan men-deploy layanan Cloud Run awal menggunakan image chatbot yang baru saja Anda buat.
Selama proses ini, 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 ini mungkin memerlukan waktu 15-20 menit.
Setelah deployment selesai, cari cloud_run_url di output Terraform yang dicetak di terminal. Klik URL untuk membuka chatbot di browser Anda. Sekarang Anda dapat berinteraksi dengan chatbot, yang saat ini berjalan dengan Gemini 2.5 Flash.
Mendownload Model
Pada langkah ini, kita akan menyiapkan model Gemma di bucket Cloud Storage. Meskipun kita memulai dengan Gemini API terkelola, Anda dapat memilih untuk menjalankan model kustom yang disesuaikan atau model terbuka kustom lainnya. Atau, Anda mungkin hanya ingin menjaga eksekusi model tetap 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. 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 sesi tersebut 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 dari alur ini. Server ini bertindak sebagai jembatan antara agen sisi klien Anda dan Google Cloud, sehingga memungkinkan agen melakukan investigasi, membuat rencana (seperti perintah gcloud dan kubectl), dan menerapkan perubahan langsung ke resource di project cloud Anda.
Pastikan Anda telah diberi peran yang memungkinkan panggilan alat MCP, seperti roles/geminicloudassist.user. Jika Anda mengalami masalah izin nanti, lihat dokumentasi tentang 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
- Verifikasi bahwa keterampilan berhasil diinstal: Mulai
geminidan jalankan perintah berikut untuk mencantumkan keterampilan aktif:
/skills list
Pastikan Anda melihat keterampilan yang terkait dengan Gemini Cloud Assist dalam daftar. Ketik exit untuk kembali ke perintah Cloud Shell.
Mengaktifkan Mutasi di Gemini Cloud Assist
Untuk mengizinkan agen 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 dan centang "Enable Cloud Assist to execute actions".


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.
Pastikan 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 kita 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:
- Menggunakan alat
ask_cloud_assistuntuk memahami konteks. - Menggunakan alat
design_infrauntuk membuat YAML Kubernetes untuk aplikasi chatbot. - Bertanya: "Would you like to proceed with applying this configuration?"
- Menggunakan alat
- Balas dengan
yesuntuk menerapkan perubahan. Agen akan menggunakaninvoke_operationuntuk men-deploy resource ke cluster GKE Anda.
Memverifikasi Langkah 1
- Dapatkan daftar layanan:
kubectl get services
Anda akan melihat layanan untuk aplikasi chatbot yang berjalan.
- Teruskan port layanan untuk mengakses chatbot:
kubectl port-forward svc/chatbot-service 8080:80
(Catatan: Ganti
chatbot-service
dengan nama layanan sebenarnya yang dibuat oleh agen jika berbeda).
Uji chatbot. Chatbot tersebut akan tetap merespons menggunakan Gemini API (seperti yang dikonfigurasi di Cloud Run).
6. Langkah 2: Men-deploy Gemma melalui vLLM dan Menghubungkan 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:
- Menggunakan
design_infrauntuk membuat YAML untuk deployment dan layanan vLLM. - Mengupdate YAML deployment chatbot untuk mengubah variabel lingkungan (atau konfigurasi) agar mengarah ke layanan vLLM baru, bukan Gemini API.
- Meminta konfirmasi untuk menerapkan perubahan.
- Menggunakan
- Balas dengan
yesuntuk menerapkan perubahan.
Memverifikasi 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, layanan tersebut akan didukung oleh model Gemma yang dihosting sendiri.
7. Pembersihan
Untuk menghindari biaya berkelanjutan ke 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. Gunakan gemini extensions uninstall atau gemini extensions disable, diikuti dengan nama ekstensi.
8. Langkah berikutnya
Untuk mempelajari Gemini Cloud Assist dan fitur lanjutan lebih lanjut, lihat referensi berikut:
9. Selamat
Selamat! Anda telah berhasil melakukan migrasi workload yang didorong oleh agen ke GKE menggunakan bahasa alami dan MCP.