1. Pengantar

Terakhir Diperbarui: 13-05-2026
Menyelidiki gangguan GKE dengan Ekstensi SRE dan membuat Post Mortem yang bagus
Selamat datang di workshop SRE ini, untuk operator yang ingin bereksperimen dengan memanfaatkan SRE di Google Cloud.
Codelab ini akan memandu Anda melakukannya:
- Instal cluster GKE berdasarkan microservices-demo open source yang terkenal.
- Buat gangguan dengan memecahnya dalam berbagai cara (beberapa lebih mencolok, beberapa lebih bernuansa).
- Instal dan gunakan Antigravity CLI (atau harness serupa) + Ekstensi SRE untuk bagian berikut.
- Menyelidiki dan semoga dapat memperbaiki gangguan.
- Buat Post Mortem.
- Gunakan keterampilan pembuatan grafik untuk membuat grafik yang berdasar sehingga penonton dapat memahami apa yang terjadi dan kapan.
Berikut adalah struktur langkah demi langkah codelab:

Tujuan workshop ini adalah untuk:
- mendemonstrasikan kemampuan Ekstensi SRE dan menunjukkan apa yang dapat dilakukan dengannya: penyiapan OneMCP, Safe Executor, Investigasi, Pembuatan Post Mortem, grafik, dan ringkasan CSV.
- Mengajarkan keterampilan untuk menyelidiki skenario Google Cloud Anda sendiri.
Tonggak 1: Penyiapan Lingkungan dan Simulasi Pemadaman
Tujuan tonggak pencapaian ini adalah menyiapkan aplikasi demo Kubernetes di GKE Autopilot, menginstal Antigravity CLI, dan memicu skenario kerusakan cluster GKE secara buatan untuk menyimulasikan insiden produksi.
Pencapaian 2: Investigasi dan Mitigasi dengan Ekstensi SRE
Setelah merusak lingkungan, Anda akan menggunakan alat CLI berbasis agen yang dilengkapi dengan Ekstensi SRE untuk menemukan infrastruktur secara sistematis, memilah masalah, menerapkan pola eksekusi yang aman untuk perbaikan, dan memverifikasi kesehatan cluster.
Tonggak Pencapaian 3: Post Mortem dan Pembuatan Grafik
Setelah masalah teratasi, Anda akan membuat dokumen postmortem insiden terstruktur dan menggunakan API GCM (Google Cloud Monitoring) untuk menarik data metrik real-time, serta membuat diagram visual untuk mendokumentasikan kapan dan bagaimana terjadinya gangguan.
Yang akan Anda build
Dalam codelab ini, Anda akan menyelidiki dan memperbaiki gangguan GKE menggunakan Ekstensi SRE. Anda akan:
- Simulasikan gangguan GKE menggunakan pemblokiran kebijakan jaringan, deployment canary yang bermasalah, dan update aturan firewall.
- Triage gangguan cluster menggunakan asisten CLI yang didukung oleh Ekstensi SRE.
- Terapkan langkah-langkah perbaikan dengan aman menggunakan pola Safe Executor.
- Buat dokumen postmortem yang komprehensif.
- Buat grafik metrik insiden menggunakan kueri deret waktu Google Cloud Monitoring.
Yang akan Anda pelajari
- Cara memeriksa resource dan kebijakan Kubernetes GKE menggunakan keterampilan Ekstensi SRE.
- Cara memanfaatkan pola Safe Executor untuk menjalankan perintah yang disarankan agen dengan evaluasi risiko yang tepat.
- Cara menggunakan skill
monitoring-graphsuntuk membuat diagram beralasan dari metrik secara langsung dari GCM. - Cara mendokumentasikan temuan insiden dalam format postmortem terstruktur.
Yang Anda butuhkan
- Project Google Cloud yang mengaktifkan penagihan.
- Alat command line:
gcloud,kubectl,terraform. - Antigravity CLI diinstal secara lokal atau di Cloud Shell.
- IDE (misalnya, vscode, IntelliJ, RubyMine, atau Vim).
Mengapa SRE Extension + Agentic CLI?
Gangguan produksi terjadi dengan cepat dan memerlukan korelasi di beberapa subsistem (resource Kubernetes, jaringan VPC, metrik Cloud Monitoring, izin IAM). Ekstensi SRE memungkinkan helper CLI agentik (seperti Antigravity CLI) bertindak sebagai kopilot otonom, menjalankan playbook yang telah dikompilasi sebelumnya, membuat kueri grafik pemantauan, dan menyarankan perbaikan yang aman sekaligus tetap melibatkan operator manusia.
2. Mempersiapkan
Pilih salah satu opsi berikut: Penyiapan lingkungan mandiri jika Anda ingin menjalankan
codelab di komputer Anda sendiri, atau; Mulai Cloud Shell jika Anda ingin menjalankan codelab ini sepenuhnya di cloud.
Penyiapan lingkungan mandiri
- Login ke Google Cloud Console dan buat project baru atau gunakan kembali project yang sudah ada. Jika belum memiliki akun Gmail atau Google Workspace, Anda harus membuatnya.



- Project name adalah nama tampilan untuk peserta project ini. String ini adalah string karakter yang tidak digunakan oleh Google API. Anda dapat memperbaruinya kapan saja.
- Project ID bersifat unik di semua project Google Cloud dan tidak dapat diubah (tidak dapat diubah setelah ditetapkan). Cloud Console otomatis membuat string unik; biasanya Anda tidak mementingkan kata-katanya. Di sebagian besar codelab, Anda harus merujuk Project ID-nya (umumnya diidentifikasi sebagai
PROJECT_ID). Jika tidak suka dengan ID yang dibuat, Anda dapat membuat ID acak lainnya. Atau, Anda dapat mencobanya sendiri, dan lihat apakah ID tersebut tersedia. ID tidak dapat diubah setelah langkah ini dan tersedia selama durasi project. - Sebagai informasi, ada nilai ketiga, Project Number, yang digunakan oleh beberapa API. Pelajari lebih lanjut ketiga nilai ini di dokumentasi.
- Selanjutnya, Anda harus mengaktifkan penagihan di Konsol Cloud untuk menggunakan resource/API Cloud. Menjalankan operasi dalam codelab ini tidak akan memakan banyak biaya, bahkan mungkin tidak sama sekali. Guna mematikan resource agar tidak menimbulkan penagihan di luar tutorial ini, Anda dapat menghapus resource yang dibuat atau menghapus project-nya. Pengguna baru Google Cloud memenuhi syarat untuk mengikuti program Uji Coba Gratis senilai $300 USD.
Mulai Cloud Shell
Meskipun Google Cloud dapat dioperasikan dari jarak jauh menggunakan laptop Anda, dalam codelab ini, Anda akan menggunakan Google Cloud Shell, lingkungan command line yang berjalan di Cloud.
Dari Google Cloud Console, klik ikon Cloud Shell di toolbar kanan atas:

Hanya perlu waktu beberapa saat untuk penyediaan dan terhubung ke lingkungan. Jika sudah selesai, Anda akan melihat tampilan seperti ini:

Mesin virtual ini berisi semua alat pengembangan yang Anda perlukan. Layanan ini menawarkan direktori beranda tetap sebesar 5 GB dan beroperasi di Google Cloud, sehingga sangat meningkatkan performa dan autentikasi jaringan. Semua pekerjaan Anda dalam codelab ini dapat dilakukan di browser. Anda tidak perlu menginstal apa pun.
3. Prasyarat (Penginstalan)
Untuk tutorial ini, Anda perlu menginstal:
1. Python dan uv
python dan uv (pengelola paket untuk Python). Pastikan Anda telah menginstal uv:
$ curl -LsSf https://astral.sh/uv/install.sh | sh
Mengapa UV? Meskipun Anda dapat menggunakan pengelola Python pilihan Anda, penggunaan uv akan memastikan penyiapan ENV/PATH untuk Python akan sama bagi Anda dan Antigravity CLI, sehingga pengalaman shell Anda sebagian besar akan sama dengan Antigravity CLI. Jika Anda menggunakan virtualenv , misalnya, Antigravity CLI akan dipaksa untuk melakukan hal-hal seperti "source .env/venv/bin/activate && my-original-command" untuk meniru lingkungan Anda.
2. Antigravity CLI (agy)
Untuk menginstal Antigravity CLI resmi (perintah agy), buka terminal Anda dan jalankan penginstal bootstrap:
Untuk macOS dan Linux:
$ curl -fsSL https://antigravity.google/cli/install.sh | bash
Untuk Windows (PowerShell):
irm https://antigravity.google/cli/install.ps1 | iex
Skrip ini akan mendeteksi OS dan arsitektur Anda secara dinamis, mendownload
agy
biner, dan mengonfigurasi PATH Anda. Mulai ulang terminal atau muat ulang konfigurasi shell agar perubahan diterapkan.

Autentikasi
Anda memerlukan Kunci API Google AI Studio.
Mengekspor Kunci API Anda:
export GEMINI_API_KEY="your-api-key"
Lakukan autentikasi dengan gcloud:
export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"
export GOOGLE_CLOUD_LOCATION="YOUR_PROJECT_LOCATION"
gcloud auth application-default login
Menyiapkan lingkungan kerja dan men-deploy aplikasi demo microservice
Mari kita clone aplikasi microservices-demo dan deploy infrastruktur dan aplikasi melalui terraform
Sekarang Anda dapat membuka IDE (Visual Studio Code, IntelliJ, RubyMine, ..) dan membuka folder.
# 1. Find an empty directory, and download this repo.
git clone https://github.com/GoogleCloudPlatform/microservices-demo.git
cd microservices-demo/terraform
# 2. Update project ID to your gcloud project ID
sed -i 's/<project_id_here>/YOUR_ACTUAL_PROJECT_ID/g' terraform.tfvars
# 3. Deploy the microservices-demo application in GKE autopilot
# If there is a prompt answer yes and continue. This step can take up to 10 mins for provision gke autopilot cluster and deploy microservices-demo application
terraform init
terraform plan
terraform apply
# 4. Verify the IP address of frontend-service to access the online-boutique application
kubectl get service frontend-external | awk '{print $4}'
# 5. Find an empty directory , and download this repo.
git clone https://github.com/palladius/sre-testing-suite.git
cd sre-testing-suite/test-scenarios/microservices-demo-gke/breakage-scenarios
Untuk menguji penyiapan, Anda dapat mengakses http://[ALAMAT IP] dan memuat aplikasi online-boutique
Menyiapkan lingkungan kerja untuk sre-antigravity-cli-extension
# 1. Install the SRE Extension plugin globally
git clone https://github.com/gemini-cli-extensions/sre.git ~/.gemini/config/plugins/sre-extension
# 2. Launch the Antigravity CLI (agy)
agy # This runs the CLI under your current breakage-scenarios folder.
# Login with your corporate or personal account when prompted.
# 3. Within the agy agent prompt, configure your MCP servers and GCP project
Use the gcp-mcp-setup skill to setup my GCP project "<gcp_project_id>" with email jane-doe-sre@credible-company.com
4. Langkah 1: Menyimulasikan Pemadaman (Skenario Kerusakan)
Pada langkah ini, kita akan sengaja merusak cluster GKE yang di-deploy untuk menyimulasikan insiden produksi di dunia nyata. Anda memiliki tiga skenario untuk dipilih (atau coba ketiga skenario secara berurutan):
Skenario 1: Pemblokiran Jaringan Layanan Checkout (Standar/Autopilot)
Skenario ini menyimulasikan koneksi yang terputus antara frontend dan layanan checkout dengan menerapkan NetworkPolicy Kubernetes yang bertindak sebagai "lubang hitam" traffic.
- Buka folder skenario:
cd breakage1-checkout
- Memicu kerusakan:
Perintah ini akan membuat NetworkPolicy bernama./break.sh
update-checkout-from-frontenddi namespacedefaultyang menolak traffic masuk kecheckoutservicekecuali jika berasal dari pod dengan labelapp: frontend-checkout-test(yang tidak ada). - Coba beli item di frontend Butik Online. Halaman checkout akan berhenti berfungsi atau menampilkan error HTTP 500.
Skenario 2: Peluncuran Canary yang Bermasalah (Autopilot dengan Istio)
Skenario ini menyimulasikan deployment yang buruk saat versi frontend yang penuh bug di-roll out melalui deployment Canary Kubernetes.
- Buka folder skenario:
cd ../breakage2-canary
- Memicu kerusakan:
Ini men-deploy deployment canary./break.sh
frontend-canaryyang memiliki kesalahan ketik dalam variabel lingkungannya:PRODUCT_CATALOG_SERVICE_ADDRdikonfigurasi keproductcatalogservices:3550, bukanproductcatalogservice:3550. - Muat halaman beranda frontend. Terkadang akan gagal (bergantung pada bobot perutean) karena layanan canary gagal menyelesaikan katalog produk.
Skenario 3: Pemblokiran Cluster Firewall VPC
Skenario ini menyimulasikan kesalahan dalam konfigurasi firewall VPC yang memblokir semua traffic masuk ke cluster GKE.
- Buka folder skenario:
cd ../breakage3-firewall
- Memicu kerusakan:
Tindakan ini akan membuat aturan firewall tingkat VPC bernama./break.sh
frontend-ingress-v2denganpriority=1dan tindakanDENYyang menargetkan traffic masuk ke port80,443, dan8080. - Situs Butik Online akan menjadi tidak dapat dijangkau sepenuhnya, dan permintaan akan kehabisan waktu.
5. Langkah 2: Investigasi Gangguan dengan Ekstensi SRE
Sekarang setelah aplikasi tidak berfungsi, mari kita mulai penyelidikan menggunakan asisten CLI Anda (Antigravity CLI).
- Kembali ke folder skenario kerusakan utama dan luncurkan helper CLI Anda:
cd .. agy
- Minta asisten untuk melakukan penemuan infrastruktur dan pemeriksaan diagnostik:
Investigate my GKE cluster for outages. Are all services healthy? - Apa yang Dilakukan Agen:
- Tindakan ini akan mengaktifkan keterampilan
investigation-entrypointdangcp-playbooks. - Dasbor ini mencantumkan pod, deployment, dan layanan Kubernetes untuk menemukan target yang gagal.
- Cloud Monitoring memeriksa kebijakan jaringan (untuk Skenario 1) atau konfigurasi deployment (untuk Skenario 2) atau aturan firewall (untuk Skenario 3).
- Tindakan ini akan mengaktifkan keterampilan
- Untuk Skenario 1, agen harus melaporkan: 🔴 Insiden Teridentifikasi:
NetworkPolicybernamaupdate-checkout-from-frontendmengisolasi podcheckoutservice. - Untuk Skenario 2, agen harus melaporkan: 🔴 Insiden Teridentifikasi: Deployment
frontend-canarydikonfigurasi dengan endpoint layananproductcatalogservices:3550yang tidak valid, bukanproductcatalogservice:3550. - Untuk Skenario 3, agen harus melaporkan: 🔴 Insiden Teridentifikasi: Aturan firewall VPC
frontend-ingress-v2menolak traffic masuk di port80,443, dan8080.
6. Langkah 3: Memitigasi dan Memperbaiki Gangguan
Mari kita gunakan pola Safe Executor CLI untuk memulihkan gangguan.
- Minta asisten CLI Anda untuk menyarankan dan menerapkan perbaikan:
Propose a fix for the outage and apply it. - Safe Executor dalam Tindakan:
- Sebelum menjalankan saran perintah, Ekstensi SRE menjalankan audit keamanan menggunakan skill
safe-sre-investigator. - Fitur ini akan menunjukkan perintah persis yang akan dijalankan dan menilai risikonya (misalnya, Rendah, Sedang, Tinggi).
- Untuk Skenario 1, alat ini akan menyarankan:
kubectl delete networkpolicy update-checkout-from-frontend
- Untuk Skenario 2, alat ini akan menyarankan:
kubectl delete deployment frontend-canary
- Untuk Skenario 3, alat ini akan menyarankan:
gcloud compute firewall-rules delete frontend-ingress-v2 --quiet
- Sebelum menjalankan saran perintah, Ekstensi SRE menjalankan audit keamanan menggunakan skill
- Konfirmasi eksekusi perintah saat diminta oleh CLI.
- Pastikan situs sudah aktif kembali dan berfungsi penuh dengan memuat ulang halaman beranda Online Boutique.
- Di shell, Anda dapat menjalankan skrip pemeriksaan skenario yang sesuai untuk memverifikasi kondisi:
./breakage1-checkout/check.sh # or ./breakage2-canary/check.sh # or ./breakage3-firewall/check.sh
7. Langkah 4: Membuat Post Mortem Insiden
Bagian penting dari siklus proses SRE adalah mendokumentasikan insiden sehingga tim dapat belajar darinya. Mari kita otomatiskan hal ini menggunakan skill postmortem-create.
- Di asisten CLI Anda, minta untuk menulis dokumen postmortem:
Create a postmortem for the checkout service network policy outage. - Agen akan mengumpulkan detail tentang:
- Waktu mulai insiden (diambil dari histori/log perintah CLI Anda).
- Akar masalah (NetworkPolicy yang memblokir).
- Tindakan yang diambil untuk mengatasinya.
- File ini akan menulis file Markdown baru bernama
postmortem.mddi ruang kerja Anda. - Buka
postmortem.mduntuk meninjau detailnya. Anda akan melihat bagian seperti:- Ringkasan Insiden
- Linimasa Peristiwa
- Analisis Akar Masalah (RCA)
- Item Tindakan / Langkah Pencegahan
8. Langkah 5: Menambahkan Grafik Metrik yang Berbasis Data
Untuk membuat postmortem yang profesional, kita memerlukan bukti visual insiden tersebut. Kita akan menggunakan kemampuan monitoring-graphs untuk mengambil data deret waktu dari Google Cloud Monitoring (GCM) dan membuat diagram PNG yang menunjukkan lonjakan error.
- Minta bantuan CLI Anda untuk membuat grafik dan menambahkannya ke analisis pasca-insiden:
Query GCM for frontend HTTP request error rates over the last 1 hour, generate a line chart, and embed it into postmortem.md. - Di Balik Layar:
- Agen memanggil skrip Python
monitoring-graphsuntuk membuat kueri Cloud Monitoring. - Composable ini mengambil metrik (misalnya,
kubernetes.io/container/restart_countatauloadbalancing.googleapis.com/https/request_count). - Fungsi ini memetakan diagram menggunakan
matplotlibdan menyimpannya sebagaiincident_metrics.png. - Tindakan ini akan memperbarui file
postmortem.mddengan menyisipkan link gambar:
- Agen memanggil skrip Python
- Buka file
incident_metrics.pngyang dihasilkan untuk melihat diagram yang menggambarkan saat-saat tepat ketika cluster tidak berfungsi dan saat traffic kembali normal.
9. Langkah 6: Pembersihan
Untuk memastikan akun Google Cloud Anda tidak menimbulkan biaya yang tidak perlu, mari kita bersihkan infrastruktur yang di-deploy.
- Buka folder terraform:
cd ../../microservices-demo/terraform
- Jalankan perintah destroy:
terraform destroy -auto-approve
- Pastikan semua resource GKE GCP telah berhasil dihapus.
10. Selamat!
Anda telah menyelesaikan Codelab Investigasi Kerusakan dan Gangguan Cluster GKE.
Yang telah Anda pelajari:
- Men-deploy demo microservice Online Boutique 10 tingkat ke GKE.
- Mensimulasikan tiga gangguan SRE di dunia nyata (penolakan kebijakan jaringan, peluncuran canary yang bermasalah, penolakan aturan firewall VPC).
- Menggunakan Ekstensi SRE untuk Antigravity CLI guna menemukan dan mendiagnosis pemadaman.
- Memanfaatkan pola Safe Executor untuk meninjau dan menjalankan perintah perbaikan.
- Membuat postmortem Markdown profesional.
- Membuat kueri metrik Cloud Monitoring untuk otomatis membuat dan menyematkan grafik insiden yang memiliki rujukan.
Untuk mengetahui detail selengkapnya tentang cara memperluas agen CLI, lihat halaman GitHub Ekstensi SRE.