Dokumen ini menjelaskan cara mengonfigurasi analisis pada pipeline pengiriman jika Anda menggunakan Google Cloud Observability sebagai sistem pemantauan.
Jika Anda menggunakan penyedia pemantauan yang berbeda, Anda perlu menentukan analisis kustom, yang mencakup pembuatan penampung untuk menyerap dan mengevaluasi metrik serta data lain dari penyedia Anda.
Sebelum memulai
-
Login ke Akun Google Anda.
Jika Anda belum memilikinya, Daftar untuk membuat akun baru.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini.
-
Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.
Aktifkan Compute Engine, Cloud Deploy API:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.gcloud services enable clouddeploy.googleapis.com
compute.googleapis.com -
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini.
-
Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.
Aktifkan Compute Engine, Cloud Deploy API:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.gcloud services enable clouddeploy.googleapis.com
compute.googleapis.com
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat dan menggunakan tugas analisis, minta administrator untuk memberi Anda peran IAM berikut di akun untuk project Anda:
- Runner Cloud Deploy (
roles/clouddeploy.jobRunner) - Monitoring Alert Viewer (
roles/monitoring.alertPolicyViewer) - Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Untuk memastikan akun layanan Cloud Deploy memiliki izin yang diperlukan untuk membuat dan menggunakan otomatisasi, minta administrator untuk memberikan peran IAM berikut kepada akun layanan Cloud Deploy di project Anda:
- Pengguna Akun Layanan IAM (
roles/iam.serviceAccountUser) - Pelepas Cloud Deploy (
roles/clouddeploy.releaser) - Operator Cloud Deploy (
roles/clouddeploy.operator)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Administrator Anda mungkin juga dapat memberikan izin yang diperlukan kepada akun layanan Cloud Deploy melalui peran khusus atau peran bawaan lainnya.
Menyiapkan analisis di Cloud Deploy
Mengonfigurasi analisis deployment terdiri dari langkah-langkah berikut:
Konfigurasi tugas analisis di pipeline penayangan.
Jalankan pipeline untuk menjalankan analisis.
Menentukan kebijakan pemberitahuan
Anda menentukan kebijakan pemberitahuan untuk menerima metrik dari Google Cloud Observability. Kebijakan pemberitahuan Google Cloud Observability menjelaskan kapan dan bagaimana Anda ingin mendapatkan pemberitahuan saat data pemantauan memenuhi kriteria tertentu.
Analisis Cloud Deploy menggunakan pemberitahuan ini untuk mengambil tindakan berdasarkan keadaan yang ditunjukkan oleh pemberitahuan.
Misalnya, Anda dapat menyiapkan kebijakan pemberitahuan pada aplikasi dalam produksi
untuk mengirim pemberitahuan jika latensi respons HTTP terlalu tinggi, dan berdasarkan pemberitahuan tersebut,
pekerjaan analisis Anda dapat memicu
otomatisasi repairRolloutRule
untuk mengembalikan rilis.
Sebagai contoh lain, Anda dapat membuat kebijakan pemberitahuan serupa pada aplikasi yang di-deploy ke lingkungan staging, dan jika tidak ada pemberitahuan yang dipicu selama durasi tugas analisis, tugas tersebut dapat memicu otomatisasi promoteReleaseRule untuk mempromosikan rilis ke produksi.
Membuat analisis
Untuk membuat tugas analisis untuk pipeline pengiriman aplikasi Anda, konfigurasi analisis tersebut di dalam konfigurasi untuk pipeline, lalu terapkan file konfigurasi tersebut.
Mengonfigurasi tugas analisis
Bagian ini menjelaskan cara mengonfigurasi tugas analisis Cloud Deploy untuk digunakan dengan Google Cloud Observability.
Tugas analisis Anda dikonfigurasi sebagai bagian dari definisi pipeline pengiriman,
di dalam stanza strategy. Ini dapat berada di dalam strategi apa pun, canary atau
standard. Jika Anda ingin mengonfigurasi analisis per fase, gunakan kenari kustom (strategy.canary.customCanaryDepolyment.phaseConfigs.phaseId.analysis).
Tugas analisis terdiri dari elemen berikut:
Durasi
Durasi ini menentukan berapa lama tugas analisis berjalan. Jika durasi berakhir dan tidak ada pemberitahuan dari Google Cloud Observability, analisis dianggap berhasil dan peluncuran dilanjutkan.
Satu atau beberapa pemeriksaan, yang sesuai dengan kebijakan pemberitahuan di sistem pemantauan Anda
Setiap pemeriksaan mencakup hal berikut:
ID
Satu atau beberapa kebijakan pemberitahuan
Artinya, referensi ke satu atau beberapa kebijakan pemberitahuan Google Cloud Observability.
- Satu atau beberapa label, yang digunakan untuk mengidentifikasi kebijakan pemberitahuan tertentu. Karena kebijakan pemberitahuan Google Cloud Observability dapat memantau banyak aplikasi, label ini memungkinkan kita membatasi pemeriksaan ke satu atau beberapa aplikasi tertentu.
Perhatikan bahwa Anda dapat menggunakan parameter sistem sebagai kunci untuk label di sini.
Berikut adalah sintaksis untuk mengonfigurasi tugas analisis saat menggunakan strategi deployment
standard:
strategy:
standard:
analysis:
duration: DURATION
googleCloud:
alertPolicyChecks:
- id: CHECK_ID
alertPolicies:
- [ALERT_POLICY_ID]
labels:
[KEY: VALUE]
Dengan:
DURATIONAdalah durasi, dalam detik, untuk menjalankan tugas analisis. Setelah durasi berakhir, tugas selesai. Jika analisis gagal (penampung menampilkan kode keluar non-nol), tugas akan selesai (
FAILED) sebelum durasi berakhir.CHECK_IDAdalah ID untuk setiap pemeriksaan dalam analisis Anda. Setiap ID harus unik dalam tugas analisis ini. Anda dapat memiliki satu atau beberapa pemeriksaan dalam tugas analisis.
ALERT_POLICY_IDAdalah ID kebijakan untuk kebijakan pemberitahuan Google Cloud Observability yang Anda gunakan untuk pemeriksaan. Anda dapat menemukan ID kebijakan pemberitahuan dengan menjalankan
gcloud monitoring policies list. Anda memerlukan ID yang sepenuhnya memenuhi syarat, yang terlihat seperti ini:projects/project-redacted/alertPolicies/01234567890123456789Ada kemungkinan bahwa ID yang ditampilkan menyertakan
/conditions/13842666848149128276setelah ID kebijakan. Jangan sertakan ini sebagai bagian dari ID kebijakan.KEYdanVALUEMerupakan pasangan nilai kunci untuk label, yang akan digunakan untuk mempertimbangkan hanya pemberitahuan tertentu. Misalnya, Anda dapat menggunakan label sehingga pemeriksaan hanya mempertimbangkan pemberitahuan pada workload tertentu.
Anda dapat menggunakan parameter sistem untuk nilai di sini.
Berikut adalah contoh yang menggunakan parameter sistem:
labels: service_name: '${{render.metadata.cloud_run.service.name}}'
Konfigurasi ini membuat tugas analisis. Meskipun ada beberapa pemeriksaan, konfigurasi ini hanya membuat satu tugas.
Jika tidak ada kebijakan pemberitahuan yang dikonfigurasi mengirimkan pemberitahuan, tugas ini akan berhasil
dan peluncuran akan berlanjut. Jika ada kebijakan yang memicu pemberitahuan, tugas akan berhenti
dengan status FAILED, dan peluncuran akan gagal (dengan status FAILED, kecuali
Anda memilih untuk
mengabaikan kegagalan tugas).
Menerapkan file konfigurasi pipeline pengiriman
Untuk membuat pipeline pengiriman dengan tugas analisis, terapkan file konfigurasi menggunakan perintah berikut:
gcloud deploy apply FILE \
--region=REGION \
--project=PROJECT_ID
Ganti kode berikut:
FILEDengan nama file konfigurasi pipeline pengiriman,
clouddeploy.yamlatau nama apa pun yang Anda berikan.REGIONDengan region tempat Anda membuat pipeline pengiriman.
PROJECT_IDDengan ID project tempat Anda membuat pipeline pengiriman ini.
Sekarang Anda memiliki pipeline pengiriman di project, dan tugas analisis, yang akan menjadi bagian dari pipeline saat Anda membuat rilis.
Langkah berikutnya
Coba panduan memulai: Menganalisis aplikasi menggunakan metrik.
Lihat skema konfigurasi untuk analisis di Referensi konfigurasi Cloud Deploy.
Pelajari lebih lanjut kebijakan pemberitahuan Google Cloud Observability.
Pelajari lebih lanjut otomatisasi deployment.
Pelajari lebih lanjut strategi deployment.