Halaman ini menjelaskan cara Google Kubernetes Engine (GKE) memublikasikan notifikasi cluster ke Pub/Sub dan Cloud Logging dengan informasi tentang peristiwa yang relevan dengan konfigurasi cluster Anda, seperti upgrade yang tersedia atau sedang berlangsung, buletin keamanan, dan tanggal akhir dukungan.
Untuk mempelajari cara menyiapkan notifikasi cluster dengan Pub/Sub, lihat Menerima notifikasi cluster.
Ringkasan
Jika terjadi peristiwa tertentu yang relevan dengan cluster GKE, seperti upgrade yang tersedia atau buletin keamanan yang penting, 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 diterima.
GKE juga merutekan notifikasi ini ke Cloud Logging. Untuk menemukan log ini di Cloud Logging, lihat Melihat notifikasi cluster di Cloud Logging (Pratinjau).
Manfaat
Notifikasi cluster memberikan manfaat berikut:
- 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 tersedia untuk cluster, sehingga Anda dapat merencanakan pengujian dan kualifikasi dengan lebih baik, serta membantu memastikan proses upgrade yang lancar dan dapat diprediksi. 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, dan saat operasi upgrade selesai, yang memberi Anda lebih banyak visibilitas ke operasi latar belakang cluster Anda.
- Anda akan menerima notifikasi saat cluster menjalankan versi minor GKE yang berada di atau mendekati akhir dukungan.
Anda dapat memilih apakah akan menggunakan Pub/Sub atau Cloud Logging:
- Notifikasi cluster dikirim ke Cloud Logging secara default. Anda dapat menggunakan semua kemampuan Cloud Logging, termasuk membuat kueri dan melihat log, serta mengonfigurasi kebijakan pemberitahuan berbasis log.
- Pub/Sub sangat mudah diperluas, memberikan Anda fleksibilitas dalam memproses notifikasi yang masuk. Misalnya, Anda dapat berintegrasi dengan Slack untuk meneruskan notifikasi ke saluran Slack, atau memulai fungsi Cloud Run 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:
Jika menggunakan Pub/Sub, Anda dapat memfilter notifikasi yang diterima agar hanya diberi tahu untuk peristiwa yang relevan. Jika Anda melihat notifikasi cluster di Cloud Logging (Pratinjau), Anda dapat menggunakan kemampuan Cloud Logging untuk memfilter log.
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.
UpgradeAvailableEvent
untuk semua versi baru yang dapat diupgrade cluster, termasuk
patch pada versi minor saat ini dan versi minor berikutnya.
Jika Anda menggunakan node pool Windows Server, informasi versi Windows dikirim sebagai
bagian dari notifikasi UpgradeAvailableEvent
.
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.
UpgradeInfoEvent
GKE mengirimkan notifikasi
UpgradeInfoEvent
untuk berbagai jenis peristiwa, yang diuraikan di bagian
berikut.
Operasi upgrade selesai
Saat GKE menyelesaikan operasi untuk mengupgrade node atau panel kontrol cluster secara otomatis atau manual, GKE akan mengirimkan notifikasi untuk memberi tahu Anda bahwa operasi telah selesai. Operasi selesai dengan salah satu status berikut:
SUCCEEDED
: GKE berhasil mengupgrade node atau bidang kontrol.FAILED
: GKE gagal mengupgrade node atau bidang kontrol.CANCELED
: GKE membatalkan operasi upgrade karena alasan teknis atau bisnis, atau Anda membatalkan operasi upgrade.
Gunakan notifikasi untuk mengonfirmasi keberhasilan operasi upgrade.
Versi minor yang mencapai atau mendekati akhir dukungan
Saat cluster Anda menjalankan versi minor GKE yang mendekati akhir dukungan standar atau akhir dukungan yang diperluas, atau telah mencapai salah satu tonggak pencapaian tersebut, GKE akan mengirimkan notifikasi bahwa Anda harus mengupgrade node atau panel kontrol cluster ke versi minor berikutnya yang didukung. Menjalankan versi minor yang didukung memastikan Anda terus menerima patch keamanan, perbaikan bug, dan dukungan. GKE mengirimkan satu notifikasi 30 hari sebelum akhir dukungan, dan satu notifikasi pada akhir dukungan, jika cluster Anda masih menjalankan versi minor.
GKE mengirimkan notifikasi tingkat cluster, meskipun beberapa komponen cluster Anda mungkin terpengaruh, dan cluster Anda dapat menjalankan versi minor yang berbeda secara bersamaan. Jika versi minor mendekati akhir dukungan standar dan Anda memerlukan waktu untuk bersiap melakukan upgrade ke versi yang didukung, Anda dapat beralih ke saluran rilis yang Diperluas untuk mendapatkan dukungan jangka panjang. Jika tidak, GKE akan menjadwalkan upgrade otomatis di akhir dukungan. Pemberitahuan ini membantu memastikan bahwa Anda siap untuk penegakan kebijakan akhir dukungan ini.
Notifikasi menyertakan detail berikut:
- Cluster yang terpengaruh.
- Versi saat ini yang mencapai atau mendekati akhir dukungan.
- Tanggal akhir dukungan.
Untuk mengetahui detail selengkapnya tentang linimasa dukungan untuk versi minor GKE, lihat siklus proses versi minor GKE.
Memfilter notifikasi ke Pub/Sub
Anda dapat memfilter notifikasi cluster untuk memastikan bahwa Anda hanya menerima notifikasi yang diinginkan di Pub/Sub. Anda dapat menerapkan pemfilteran untuk notifikasi ke Pub/Sub dengan salah satu cara berikut:
Untuk melihat dan memfilter notifikasi di Cloud Logging, lihat Melihat notifikasi cluster di Cloud Logging (Pratinjau).
Memfilter notifikasi ke Pub/Sub di GKE
Anda dapat menyiapkan pemfilteran ke Pub/Sub 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 GKE tidak memengaruhi log yang muncul di Cloud Logging.
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.
Melihat notifikasi cluster di Cloud Logging (Pratinjau)
Untuk melihat log cluster GKE, lihat Mengakses log Anda.
Lihat log di Cloud Logging dengan filter berikut untuk melihat semua jenis notifikasi cluster:
logName=projects/PROJECT_ID/logs/container.googleapis.com%2Fnotifications
Untuk melihat log untuk jenis notifikasi cluster tertentu, seperti UpgradeEvent
, gunakan filter seperti
contoh berikut:
jsonPayload.@type=type.googleapis.com/google.container.v1beta1.NOTIFICATION_TYPE
Ganti NOTIFICATION_TYPE dengan jenis notifikasi untuk log yang ingin Anda lihat.
Untuk memilih tidak menyimpan log ini, Anda dapat mengonfigurasi filter pengecualian.
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 |
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
Outputnya mirip dengan berikut ini untuk 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
Outputnya mirip dengan berikut ini untuk 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
Outputnya mirip dengan berikut ini untuk 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"} |
UpgradeInfoEvent
Outputnya mirip dengan berikut ini untuk pesan
UpgradeInfoEvent
saat operasi upgrade
selesai, seperti contoh ini untuk
upgrade node pool:
Atribut | |
---|---|
type_url |
type.googleapis.com/google.container.v1beta1.UpgradeInfoEvent |
payload |
{ "currentVersion":"1.31.1-gke.1846000", "endTime":"2024-11-06T17:12:54.111640650Z", "operation":"operation-1730912205658-de2f88a8-6290-4718-b2c1-fb19611060b8", "resource":"projects/ |
Output ini berbeda dengan saat pesan ditujukan untuk versi minor pada atau dekat akhir dukungan standar.
Langkah berikutnya
- Pelajari cara menerima notifikasi cluster.
- Pelajari cara mengonfigurasi notifikasi cluster untuk layanan pihak ketiga.