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 memitigasi 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 mengirimkan notifikasi ke semua VM-nya. Notifikasi ini melaporkan dimulainya masa pemeliharaan Compute Engine. Jika 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 acara, dan detail lainnya.

Melihat pemeliharaan mendatang di GKE

Pada GKE versi 1.31.1-gke.2008000 dan yang lebih baru, serta untuk jenis mesin tertentu, Anda dapat memantau peristiwa pemeliharaan mendatang.

  • Untuk jenis mesin dengan GPU atau TPU terpasang, 1.31.1-gke.2008000 atau yang lebih baru.
  • Untuk jenis mesin H4D, 1.32.6-gke.1060000 atau yang lebih baru.
  • Untuk c4a-highmem-96-metal, 1.35.0-gke.2232000 atau yang lebih baru.
  • Untuk jenis mesin Z3 dengan lebih dari 18 TiB Titanium SSD, gunakan versi 1.32.4-gke.1376000 atau yang lebih baru.
  • Untuk jenis mesin Z4D dengan Titanium SSD terpasang lebih dari 41 TiB, gunakan versi 1.36.3-gke.1244000 atau yang lebih baru.

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

  • Kueri notifikasi 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.

  • Kueri notifikasi ini di tingkat metadata node dengan memeriksa notifikasi peristiwa pemeliharaan instance.

  • Untuk kelompok mesin yang dioptimalkan untuk akselerator yang mendukung pemeliharaan lanjutan, Anda dapat mengakses endpoint upcoming-maintenance yang memberikan informasi tentang peristiwa pemeliharaan terjadwal dan yang 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 jendela Compute Engine terjadwal, 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 di cluster selama 60 menit, sehingga perintah ini hanya menampilkan peristiwa terbaru ini 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 dimunculkan pada 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 Jendela pemeliharaan host Compute Engine telah dibersihkan di node
MaintenanceWindowRescheduled Masa pemeliharaan host Compute Engine yang dijadwalkan sebelumnya telah dipindahkan dan waktu mulai pemeliharaan diperbarui
CustomerTriggeredMaintenance Pemeliharaan host Compute Engine dipicu secara manual melalui GKE
MaintenanceWindowStarted Pemeliharaan host Compute Engine telah dimulai
TerminateOnHostMaintenance Dipancarkan saat Compute Engine mengeluarkan sinyal penghentian (TERMINATE_ON_HOST_MAINTENANCE). Jika penghentian tuntas diaktifkan, GKE akan mengisolasi node dan menjadwalkan pengusiran pod (SIGTERM). Workload menerima batas waktu pemberitahuan 5 hingga 60 menit, bergantung pada tingkat mesin.
PodEvictionComplete Semua pod telah berhasil dikeluarkan dari node
MaintenanceWindowCleared Pemeliharaan host Compute Engine telah 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 waktu 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 memberikan tampilan gabungan dari operasi pemeliharaan host. Dasbor ini memberikan visibilitas komprehensif terhadap 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 waktu nonaktif historis.

Langkah berikutnya