Menentukan tugas analisis yang menggunakan Google Cloud Observability

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

  1. Login ke Akun Google Anda.

    Jika Anda belum memilikinya, Daftar untuk membuat akun baru.

  2. Instal Google Cloud CLI.

  3. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  4. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  5. Pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini.

  6. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  7. 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
  8. Instal Google Cloud CLI.

  9. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  10. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  11. Pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini.

  12. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  13. 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:

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:

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:

  1. Tentukan satu atau beberapa kebijakan pemberitahuan.

  2. Konfigurasi tugas analisis di pipeline penayangan.

  3. 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:

  • DURATION

    Adalah 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_ID

    Adalah 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_ID

    Adalah 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/01234567890123456789

    Ada kemungkinan bahwa ID yang ditampilkan menyertakan /conditions/13842666848149128276 setelah ID kebijakan. Jangan sertakan ini sebagai bagian dari ID kebijakan.

  • KEY dan VALUE

    Merupakan 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:

  • FILE

    Dengan nama file konfigurasi pipeline pengiriman, clouddeploy.yaml atau nama apa pun yang Anda berikan.

  • REGION

    Dengan region tempat Anda membuat pipeline pengiriman.

  • PROJECT_ID

    Dengan 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