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
- Pelajari cara menerima notifikasi cluster.
- Pelajari cara mengonfigurasi notifikasi cluster untuk layanan pihak ketiga.