Memantau peristiwa pemeliharaan

Dokumen ini menjelaskan cara melihat operasi pemeliharaan host menggunakan command line dan menggunakan dasbor pemeliharaan GKE.

Melihat operasi pemeliharaan host dapat membantu Anda mengurangi gangguan workload, terutama untuk cluster GKE yang berjalan lama dengan workload yang dapat terganggu karena gangguan infrastruktur berkala.

Untuk mengetahui detail selengkapnya tentang pemeliharaan host di GKE, lihat Memahami cara melakukan pemeliharaan host di GKE.

Memantau notifikasi pemeliharaan

Sebelum VM memiliki peristiwa pemeliharaan terjadwal, Compute Engine akan mengirimkan notifikasi push ke semua VM-nya. Notifikasi ini melaporkan awal masa pemeliharaan Compute Engine. Saat pemeliharaan mendatang dijadwalkan oleh VM, tetapi tidak aktif, GKE akan menambahkan scheduled-maintenance-time ke label node.

Untuk memantau dan mendeteksi peristiwa pemeliharaan mendatang, Anda harus melihat notifikasi dari GKE dan Compute Engine.

Melihat pemeliharaan mendatang di Compute Engine

Compute Engine mengeluarkan notifikasi saat node dan VM yang mendasarinya dijadwalkan untuk peristiwa host yang mengganggu, dan saat peristiwa ini menjadi aktif. Notifikasi ini mencakup informasi tentang waktu mulai yang direncanakan, jenis peristiwa, dan detail lainnya.

Melihat pemeliharaan mendatang di GKE

Anda dapat memantau peristiwa pemeliharaan mendatang di GKE untuk jenis mesin tertentu. Tabel berikut mencantumkan jenis mesin yang didukung dan versi GKE minimum yang diperlukan untuk masing-masing jenis mesin:

Jenis mesin Versi GKE minimum
Jenis mesin dengan GPU atau TPU terpasang 1.31.1-gke.2008000 atau yang lebih baru
Jenis mesin H4D 1.32.6-gke.1060000 atau yang lebih baru
c4a-highmem-96-metal 1.35.0-gke.2232000 atau yang lebih baru
Jenis mesin Z3 dengan Titanium SSD lebih dari 18 TiB 1.32.4-gke.1376000 atau yang lebih baru
Jenis mesin Z4D dengan Titanium SSD terpasang yang berkapasitas lebih dari 42 TiB 1.36.3-gke.1244000 atau yang lebih baru
Jenis mesin Z4M dengan Titanium SSD terpasang lebih dari 48 TiB, atau instance Z4M apa pun yang menggunakan Cloud RDMA 1.36.3-gke.1767000 atau yang lebih baru

Untuk melihat peristiwa pemeliharaan mendatang, Anda dapat melakukan salah satu tindakan berikut:

  • Notifikasi kueri di tingkat node. Untuk melakukannya, jalankan perintah berikut:

    kubectl get nodes -l cloud.google.com/scheduled-maintenance-time \
        -L cloud.google.com/scheduled-maintenance-time
    

    Outputnya mirip dengan hal berikut ini:

    NAME                         STATUS    SCHEDULED-MAINTENANCE-TIME
    <gke-accelerator-node-name>  Ready     1733083200
    <gke-accelerator-node-name>  Ready     1733083200
    [...]
    

    Kolom SCHEDULED-MAINTENANCE-TIME mewakili detik, yang ditampilkan dalam format waktu epoch Unix.

  • Buat kueri notifikasi ini di tingkat metadata node dengan memeriksa notifikasi peristiwa pemeliharaan pada instance.

  • Untuk kelompok mesin yang dioptimalkan untuk akselerator yang mendukung pemeliharaan lanjutan, Anda dapat mengakses endpoint upcoming-maintenance yang memberikan informasi tentang peristiwa pemeliharaan yang dijadwalkan dan dimulai.

Melihat peristiwa Kubernetes untuk pemeliharaan host

Di GKE versi 1.35 dan yang lebih baru, peristiwa Kubernetes yang melacak siklus proses pemeliharaan host akan dimunculkan. Peristiwa Kubernetes ini memberikan visibilitas terperinci ke dalam periode Compute Engine yang dijadwalkan, operasi yang sedang berlangsung, dan kasus ekstrem seperti perbaikan atau pembatalan, sehingga Anda dapat memantau gangguan langsung dalam lingkungan Kubernetes.

Anda dapat melihat peristiwa ini menggunakan alat Kubernetes standar atau melalui Cloud Logging:

  1. Untuk melihat peristiwa pemeliharaan terbaru, gunakan perintah kubectl berikut:

    kubectl get events -n kube-system --field-selector involvedObject.kind=Node
    

    Peristiwa Kubernetes dipertahankan dalam cluster selama 60 menit, sehingga output perintah ini hanya menghasilkan peristiwa terbaru per node.

  2. Untuk melihat peristiwa di Cloud Logging, lakukan hal berikut:

    1. Buka halaman Logs Explorer di konsol Cloud de Confiance :

      Buka Logs Explorer

    2. Gunakan kueri berikut:

    resource.type="k8s_node"
    log_id("events")
    jsonPayload.metadata.annotations."maintenance.gke.io/category"="HostMaintenance"
    

Peristiwa siklus proses pemeliharaan

Peristiwa siklus proses pemeliharaan ditampilkan di resource node Kubernetes. Tabel berikut menjelaskan peristiwa yang dikeluarkan oleh GKE selama siklus proses pemeliharaan host Compute Engine:

Alasan Deskripsi
MaintenanceWindowScheduled Masa pemeliharaan host Compute Engine telah dijadwalkan untuk node
MaintenanceWindowCancelled Masa pemeliharaan host Compute Engine telah dihapus di node
MaintenanceWindowRescheduled Masa pemeliharaan host Compute Engine yang dijadwalkan sebelumnya telah dipindahkan dan waktu mulai pemeliharaan telah diperbarui
CustomerTriggeredMaintenance Pemeliharaan host Compute Engine dipicu secara manual melalui GKE
MaintenanceWindowStarted Pemeliharaan host Compute Engine telah dimulai
TerminateOnHostMaintenance Dikeluarkan saat Compute Engine mengeluarkan sinyal penghentian (TERMINATE_ON_HOST_MAINTENANCE). Jika penghentian tuntas diaktifkan, GKE akan memblokir node dan menjadwalkan pengosongan pod (SIGTERM). Workload menerima batas pemberitahuan 5 hingga 60 menit, bergantung pada tingkat mesin.
PodEvictionComplete Semua pod telah berhasil dikeluarkan dari node
MaintenanceWindowCleared Pemeliharaan host Compute Engine selesai dan node kembali ke status siap.

Informasi payload peristiwa

Jika informasi tentang peristiwa pemeliharaan mendatang tersedia melalui Compute Engine, setiap peristiwa juga menyertakan payload yang berisi data anotasi dengan informasi berikut:

  • Detail jendela Compute Engine: Mencakup windowStartTime, windowEndTime, dan latestWindowStartTime.
  • Metadata pemeliharaan: Status siklus pemeliharaan pada saat peristiwa, alasan pemeliharaan (alasan dapat dicantumkan sebagai SCHEDULED atau UNSCHEDULED), dan apakah jendela Compute Engine dapat menjadwalkan ulang.
  • Metadata Kubernetes: Mencakup Cluster_name, nodepool_name, dan node_name.

Tampilan operasi pemeliharaan host di Dasbor Pemeliharaan GKE

Dasbor Pemeliharaan GKE menyediakan tampilan gabungan operasi pemeliharaan host. Dasbor ini memberikan visibilitas yang komprehensif ke dalam aktivitas pemeliharaan di seluruh level cluster, node pool, dan node.

Dasbor ini dibuat di Observability Analytics. Dasbor ini menampilkan siklus pemeliharaan, status node, dan metrik periode nonaktif historis.

Langkah berikutnya