Notifikasi cluster


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.

Untuk cluster yang tidak berada di saluran rilis, GKE mengirimkan notifikasi 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/PROJECT_ID/locations/CLUSTER_LOCATION/clusters/CLUSTER_NAME/nodePools/NODE_POOL_NAME",
  "resourceType":"NODE_POOL"
  "startTime":"2024-11-06T16:56:45.658321844Z",
  "state":"SUCCEEDED",
  "targetVersion":"1.31.1-gke.2105000"}
      

Output ini berbeda dengan saat pesan ditujukan untuk versi minor pada atau dekat akhir dukungan standar.

Langkah berikutnya