Notifikasi cluster


Halaman ini menjelaskan cara Google Kubernetes Engine (GKE) memublikasikan notifikasi cluster ke Pub/Sub yang berisi informasi tentang peristiwa yang relevan dengan konfigurasi cluster Anda, seperti upgrade yang tersedia dan buletin keamanan.

Untuk mempelajari cara menyiapkan notifikasi cluster, lihat Menerima notifikasi cluster.

Ringkasan

Jika terjadi peristiwa tertentu yang relevan dengan cluster GKE, seperti upgrade terjadwal yang penting atau buletin keamanan yang tersedia, GKE memublikasikan notifikasi tentang peristiwa tersebut sebagai pesan ke topik Pub/Sub yang Anda konfigurasikan. Anda dapat menerima notifikasi ini di langganan Pub/Sub , berintegrasi dengan layanan pihak ketiga, dan memfilter jenis notifikasi yang ingin Anda terima.

Manfaat

Menggunakan Pub/Sub untuk menerima notifikasi cluster memiliki manfaat berikut:

  • Anda akan menerima informasi proaktif tentang update yang dijadwalkan untuk cluster, sehingga Anda dapat merencanakan pengujian dan kualifikasi dengan lebih baik, serta membantu memastikan proses upgrade yang lancar dan dapat diprediksi.
  • Anda akan menerima notifikasi saat buletin keamanan yang khusus untuk cluster Anda dikeluarkan, yang memberikan informasi risiko dan dampak yang akurat.
  • Anda akan menerima notifikasi jika ada versi GKE baru yang dapat diupgrade. Sebelumnya, Anda harus memeriksa catatan rilis GKE atau GKE API untuk mengetahui kapan versi GKE baru dirilis.
  • Anda akan menerima notifikasi saat GKE atau pengguna memulai upgrade cluster, yang memberi Anda lebih banyak visibilitas ke operasi latar belakang cluster Anda.
  • Pub/Sub sangat mudah diperluas, memberikan Anda fleksibilitas dalam memproses notifikasi yang masuk. Misalnya, Anda dapat mengintegrasikan Slack untuk meneruskan notifikasi ke saluran Slack, atau memulai Cloud Functions untuk menjalankan proses kustom.
  • Jika proses kustom diperlukan (misalnya, mengorkestrasi staging ke alur kerja produksi untuk menguji dan memastikan upgrade), Anda dapat menggunakan notifikasi untuk memicu alur kerja ini secara otomatis.

Jenis notifikasi upgrade

GKE mengirimkan jenis notifikasi cluster berikut:

Anda dapat memfilter notifikasi yang diterima agar hanya diberi tahu untuk peristiwa yang relevan. Anda dapat memfilter notifikasi cluster dengan menentukan nilai untuk filter dalam flag --notification-config saat mengaktifkan notifikasi cluster, atau dengan mengonfigurasi langganan Pub/Sub.

SecurityBulletinEvent

Saat GKE mengeluarkan buletin keamanan yang berkaitan langsung dengan konfigurasi atau versi cluster, GKE mengirimkan notifikasi SecurityBulletinEvent yang memberi Anda informasi tentang kerentanan, dampak, dan, tindakan yang dapat Anda ambil jika memungkinkan.

UpgradeAvailableEvent

Saat versi baru tersedia di saluran rilis, GKE mengirimkan notifikasi UpgradeAvailableEvent ke cluster di saluran rilis tersebut untuk menginformasikan cluster bahwa versi baru telah tersedia. Notifikasi ini memberikan pemberitahuan awal satu minggu untuk versi patch dan setidaknya 2-4 minggu untuk versi minor (tergantung saluran). Untuk mengetahui informasi selengkapnya, lihat Versi yang tersedia di saluran.

UpgradeEvent

Saat Anda atau GKE memulai upgrade, GKE mengirimkan notifikasi UpgradeEvent yang memberi tahu Anda bahwa upgrade telah dimulai. Idealnya, Anda harus menggunakan jenis notifikasi UpgradeAvailableEvent untuk mengetahui upgrade mendatang sehingga Anda dapat melakukan upgrade lebih awal atau mengambil tindakan yang diperlukan untuk mempersiapkan diri, seperti menyiapkan masa pemeliharaan.

Notifikasi UpgradeEvent dikirim saat awal operasi upgrade. ID operasi diteruskan dalam pesan.

Memfilter notifikasi

Anda dapat memfilter notifikasi cluster untuk memastikan bahwa Anda hanya menerima notifikasi yang diinginkan. Anda dapat menerapkan pemfilteran dengan salah satu cara berikut:

Memfilter notifikasi di GKE

Anda dapat menyiapkan pemfilteran untuk satu atau beberapa jenis notifikasi yang tersedia saat mengaktifkan notifikasi cluster dengan menentukan nilai untuk filter dalam flag --notification-config. filter menggunakan daftar jenis notifikasi yang dipisahkan tanda pipa ( | ) yang ingin Anda terima.

Misalnya, menetapkan filter="UpgradeEvent|SecurityBulletinEvent" memberi tahu GKE untuk hanya mengirim notifikasi untuk jenis notifikasi UpgradeEvent dan SecurityBulletinEvent.

Memfilter notifikasi menggunakan filter memiliki manfaat berikut:

  • Lebih mudah digunakan, karena Anda memfilter jenis notifikasi tanpa menggunakan sintaksis khusus.
  • Notifikasi yang Anda filter tidak pernah dikirim ke Pub/Sub, sehingga Anda tidak dikenai biaya untuk pesan yang tidak terkirim.
  • Anda dapat mengedit konfigurasi filter kapan saja.

Untuk mendapatkan petunjuk tentang cara memfilter notifikasi di GKE, lihat Menerima notifikasi cluster.

Memfilter notifikasi di Pub/Sub

Pub/Sub mendukung pemfilteran pesan dalam langganan menggunakan sintaksis pemfilteran. Saat Anda menggunakan metode ini, GKE mengirimkan semua jenis notifikasi ke topik Pub/Sub Anda. Pub/Sub memfilter pesan berdasarkan konfigurasi langganan Anda dan mengirimkan pesan yang ingin Anda terima.

Misalnya, Anda dapat memfilter notifikasi UpgradeEvent dan UpgradeAvailableEvent menggunakan sintaksis berikut dalam langganan Anda:

attributes.type_url = "type.googleapis.com/google.container.v1beta1.UpgradeEvent" OR "type.googleapis.com/google.container.v1beta1.UpgradeAvailableEvent"

Anda tetap ditagih untuk pesan yang tidak terkirim yang difilter berdasarkan langganan Anda. Anda juga tidak dapat mengubah filter setelah mengonfigurasi langganan. Namun, sintaksis pemfilteran lebih luas daripada pemfilteran di GKE.

Untuk mempelajari lebih lanjut cara memfilter langganan Pub/Sub, lihat Memfilter pesan.

Memakai pesan Pub/Sub

Pesan Pub/Sub berisi dua kolom: data (string) dan attributes (peta string-ke-string).

Untuk notifikasi GKE, kolom data berisi informasi yang dapat dibaca manusia. Kolom attributes memiliki informasi notifikasi umum seperti jenis notifikasi, ID project, nama cluster, dan lokasi cluster Anda. Kolom attributes.payload adalah string yang dapat diuraikan JSON yang berisi informasi notifikasi khusus, seperti detail buletin keamanan.

Notifikasi selalu berisi atribut berikut:

Atribut Deskripsi Contoh
project_id Nomor project yang memiliki cluster. 123456789
cluster_location Lokasi cluster. us-central1-c example-location
cluster_name Nama cluster. example-cluster
type_url Jenis notifikasi. type.googleapis.com/google.container.v1beta1.UpgradeEvent
payload String yang dapat diuraikan JSON yang berisi informasi khusus notifikasi.
{ "resourceType":"MASTER",
  "operation":"operation-1595889094437-87b7254a",
  "operationStartTime":"2020-07-27T22:31:34.437652293Z",
  "currentVersion":"1.15.12-gke.2",
  "targetVersion":"1.15.12-gke.9"}

GKE akan selalu mengirimkan jenis notifikasi beta. Namun, Anda dapat mengurai payload untuk menampilkan jenis notifikasi GA yang sesuai jika tersedia.

Contoh pesan notifikasi cluster

Selain teks di kolom data, setiap pesan yang dikirim GKE ke Pub/Sub memiliki nilai khusus di kolom attributes.type_url dan attributes.payload. Tabel berikut menunjukkan contoh informasi yang mungkin Anda terima untuk setiap jenis notifikasi:

SecurityBulletinEvent

Berikut ini beberapa contoh output dari pesan SecurityBulletinEvent:

Atribut
type_url type.googleapis.com/google.container.v1beta1.SecurityBulletinEvent
payload
{    "resourceTypeAffected":"RESOURCE_TYPE_CONTROLPLANE",
         "bulletinId":"GCP-2021-001",
         "cveIds":[
            "CVE-2021-3156"
         ],
         "severity":"Medium",
         "briefDescription":"A vulnerability was recently discovered in the Linux utility sudo, described in CVE-2021-3156, that may allow an attacker with unprivileged local shell access on a system with sudo installed to escalate their privileges to root on the system.",
         "affectedSupportedMinors":["1.18", "1.19"],
         "patchedVersions":["1.18.9-gke.1900", "1.19.9-gke.1900"],
         "suggestedUpgradeTarget":"1.19.9-gke.1900",
         "bulletinUri":"https://cloud.google.com/anthos/clusters/docs/security-bulletins#gcp-2021-001"
      }
      

UpgradeAvailableEvent

Berikut ini beberapa contoh output dari pesan UpgradeAvailableEvent:

Atribut
type_url type.googleapis.com/google.container.v1beta1.UpgradeAvailableEvent
payload
{ "version":"1.17.15-gke.800",
  "resourceType":"MASTER",
  "releaseChannel":{"channel":"RAPID"},
  "windowsVersions": [
    {
      "imageType": "WINDOWS_SAC",
      "osVersion": "10.0.18363.1198",
      "supportEndDate": {
        "day": 10,
        "month": 5,
        "year": 2022
      }
    },
    {
      "imageType": "WINDOWS_LTSC",
      "osVersion": "10.0.17763.1577",
      "supportEndDate": {
        "day": 9,
        "month": 1,
        "year": 2024
      }
    }
  ]
}

      

UpgradeEvent

Berikut ini beberapa contoh output dari pesan UpgradeEvent:

Atribut
type_url type.googleapis.com/google.container.v1beta1.UpgradeEvent
payload
{ "resourceType":"MASTER",
  "operation":"operation-1595889094437-87b7254a",
  "operationStartTime":"2020-07-27T22:31:34.437652293Z",
  "currentVersion":"1.15.12-gke.2",
  "targetVersion":"1.15.12-gke.9"}
      

Langkah selanjutnya