全部产品
Search
文档中心

Container Service for Kubernetes:Aktifkan perbaikan otomatis node

更新时间:Dec 06, 2025

Setelah mengaktifkan fitur kelompok node terkelola, Anda dapat mengaktifkan perbaikan otomatis node. Alibaba Cloud Container Service for Kubernetes (ACK) akan secara otomatis memantau kesehatan node dan memicu tugas self-healing saat mendeteksi masalah, sehingga menyederhanakan operasi dan pemeliharaan node. Namun, karena kompleksitas potensi kegagalan, perbaikan otomatis tidak dapat menangani semua skenario gangguan. Beberapa masalah serius atau kompleks mungkin tetap memerlukan intervensi manual.

Cara kerja

Alur kerja untuk deteksi gangguan, notifikasi, dan perbaikan otomatis node adalah sebagai berikut:

image

  1. Diagnosis dan deteksi gangguan

    ACK menggunakan komponen ack-node-problem-detector (NPD) untuk memeriksa pengecualian pada node. Jika sebuah node menjadi tidak sehat dan tetap dalam kondisi tersebut selama periode tertentu, ACK menganggap node tersebut mengalami kegagalan.

  2. Notifikasi gangguan

    Saat gangguan terdeteksi, ACK menghasilkan kondisi node dan event Kubernetes. Konfigurasikan alert di Event Center untuk menerima notifikasi.

  3. (Untuk skenario dedicated GPU) Isolasi gangguan

    Setelah pengecualian GPU terdeteksi, ACK mengisolasi kartu GPU yang bermasalah.

    Untuk informasi lebih lanjut tentang deteksi gangguan GPU dan isolasi otomatis, lihat GPU exception detection and automatic isolation.
  4. Proses perbaikan otomatis node

Pengecualian sistem dan komponen Kubernetes

Pengecualian instans node

1. ACK memperbaiki sistem dan komponen Kubernetes yang bermasalah. Misalnya, ACK dapat melakukan restart kubelet atau runtime kontainer.

2. Jika opsi Allow Node Restart to Repair System And Kubernetes Component Anomalies diaktifkan dan tindakan perbaikan awal gagal, ACK melakukan langkah-langkah berikut:

1. ACK secara otomatis menandai node yang bermasalah sebagai unschedulable.

2. ACK melakukan drain pada node yang bermasalah yang memerlukan restart.

3. ACK melakukan restart node.

4. Ketika status node kembali normal, ACK menjadikan node tersebut schedulable kembali.

Untuk deskripsi proses yang lebih rinci, lihat System and Kubernetes component anomalies.

1. ACK secara otomatis menambahkan taint ke node yang bermasalah.

2. Jika opsi Repair Nodes Only After Acquiring Permissions diaktifkan, ACK menunggu otorisasi Anda sebelum melanjutkan ke langkah berikutnya.

3. ACK melakukan drain pada node yang bermasalah yang memerlukan restart atau penggantian.

4. ACK melakukan tindakan perbaikan, seperti restart node atau memulai perbaikan perangkat keras. Status node berubah menjadi Repairing.

5. (Untuk skenario dedicated GPU) Ketika status kartu GPU kembali normal, ACK menghapus isolasinya.

6. Ketika status node kembali normal, ACK menghapus taint.

Untuk deskripsi proses yang lebih rinci, lihat Node instance anomalies.

  • Jika kluster berisi beberapa kelompok node, ACK memperbaikinya secara serial, satu kelompok node dalam satu waktu.

  • Jika kelompok node berisi beberapa node yang tidak sehat, ACK memperbaikinya secara serial, satu per satu. Jika suatu node gagal diperbaiki, ACK menghentikan proses perbaikan otomatis untuk semua node bermasalah lainnya dalam kelompok node tersebut.

Sebelum memulai

  • Fitur ini memerlukan Event Center untuk menerima alert terkait event kelompok node dan komponen ack-node-problem-detector untuk mendeteksi pengecualian node. Untuk informasi lebih lanjut, lihat Event monitoring.

  • Fitur ini hanya tersedia untuk kluster ACK yang dikelola dan didukung untuk kelompok node terkelola serta kelompok node Lingjun.

  • Fitur-fitur berikut sedang dirilis secara bertahap dan mungkin memiliki jadwal peluncuran yang berbeda. Untuk menggunakannya, submit a ticket untuk meminta akses.

    • Perbaikan otomatis untuk pengecualian instans node: Fitur ini berbasis allowlist.

    • Perbaikan otomatis node untuk kelompok node Lingjun: Fitur ini berbasis allowlist.

    • Kumpulan aturan alert: Setelah mengaktifkan perbaikan otomatis node, kami merekomendasikan untuk mengaktifkan manajemen alert dan mengaktifkan Cluster Node auto repair Alert Rule Set serta Cluster GPU Monitoring Alert Rule Set. Hal ini memastikan Anda menerima alert ketika terjadi pengecualian. Kumpulan aturan terkait sedang dalam rilis bertahap dan mungkin belum terlihat.

      Untuk mempelajari cara mengaktifkan kumpulan aturan tersebut, lihat Container Service Alert Management.
    • Versi NPD: perbaikan otomatis untuk pengecualian instans node memerlukan NPD versi 1.2.26 atau lebih baru. Versi 1.2.26 saat ini sedang dalam rilis bertahap.

Konfigurasi perbaikan otomatis node

Aktifkan dan konfigurasikan perbaikan otomatis node untuk kelompok node baru atau yang sudah ada melalui konfigurasi terkelolanya. Langkah-langkah untuk kelompok node dan kelompok node Lingjun serupa. Langkah-langkah berikut menggunakan kelompok node standar sebagai contoh.

Aktifkan perbaikan otomatis saat membuat kelompok node

  1. Masuk ke Konsol ACK dan pilih Clusters di panel navigasi kiri.

  2. Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Nodes > Node Pools.

  3. Pada halaman Node Pools, klik Create Node Pool. Di bagian Configure Managed Node Pool, pilih Custom Node Management. Aktifkan Auto Repair dan konfigurasikan opsi perbaikan: Allow Node Restart to Repair System And Kubernetes Component Anomalies dan Repair Nodes Only After Acquiring Permissions. Ikuti petunjuk di layar untuk menyelesaikan pembuatan kelompok node.

    image

    Untuk deskripsi lengkap opsi konfigurasi, lihat Create and manage a node pool. Untuk pertimbangan penting terkait restart node dan otorisasi, lihat bagian di bawah ini.

Aktifkan perbaikan otomatis untuk kelompok node yang sudah ada

  1. Masuk ke Konsol ACK dan pilih Clusters di panel navigasi kiri.

  2. Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Nodes > Node Pools.

  3. Dalam daftar kelompok node, temukan kelompok node target, lalu di kolom Actions klik image > Enable Management (untuk kelompok node standar) atau Configure Managed Node (untuk kelompok node terkelola). Di bagian Configure Managed Node Pool, pilih Custom Node Management. Aktifkan Auto Repair dan konfigurasikan opsi perbaikan: Allow Node Restart to Repair System And Kubernetes Component Anomalies dan Repair Nodes Only After Acquiring Permissions. Ikuti petunjuk di layar untuk mengirimkan konfigurasi.

    image

    Untuk deskripsi lengkap opsi konfigurasi, lihat Create and manage a node pool. Untuk pertimbangan penting terkait restart node dan otorisasi, lihat bagian di bawah ini.

Pengecualian sistem dan komponen Kubernetes

Proses perbaikan

ACK memulai tugas perbaikan berdasarkan informasi seperti condition node. Jalankan perintah kubectl describe node untuk melihat status node di bidang condition.

Ketika ACK mendeteksi pengecualian sistem atau komponen Kubernetes yang berlangsung melebihi ambang batas tertentu, ACK secara otomatis memulai proses perbaikan, yang untuk skenario ini adalah sebagai berikut:

  1. ACK mencoba memperbaiki sistem dan komponen Kubernetes yang bermasalah. Misalnya, ACK dapat melakukan restart kubelet atau runtime kontainer.

  2. Jika opsi Allow Node Restart to Repair System And Kubernetes Component Anomalies diaktifkan dan tindakan perbaikan awal gagal, ACK melakukan langkah-langkah berikut:

    1. ACK secara otomatis menandai node yang bermasalah sebagai unschedulable.

    2. ACK melakukan drain pada node yang bermasalah yang memerlukan restart. Operasi drain akan timeout setelah 30 menit.

      Saat melakukan drain node, ACK mengeluarkan pod sambil menghormati Pod Disruption Budgets (PDBs) yang dikonfigurasi. Untuk memastikan ketersediaan layanan yang tinggi, kami merekomendasikan men-deploy beban kerja Anda dengan beberapa replika di berbagai node. Selain itu, konfigurasikan PDB untuk layanan kritis guna mengontrol gangguan bersamaan.

      Jika drain gagal, ACK tetap melanjutkan ke langkah berikutnya.

    3. ACK melakukan restart node.

    4. Ketika status node kembali normal, ACK menjadikan node tersebut schedulable kembali.

      Jika node sudah dalam keadaan unschedulable sebelum proses dimulai, ACK tidak akan secara otomatis menjadikannya schedulable setelah perbaikan.

Kondisi node yang memicu perbaikan otomatis

Kondisi node

Deskripsi

Tingkat risiko

Ambang batas

tindakan perbaikan

KubeletNotReady(KubeletHung)

kubelet berhenti secara tak terduga, menyebabkan node melaporkan status NotReady.

Tinggi

180s

1. Restart kubelet.

2. Jika Allow Node Restart to Repair System And Kubernetes Component Anomalies diaktifkan, restart instans ECS.

KubeletNotReady(PLEG)

Pemeriksaan kesehatan PLEG gagal, menyebabkan node melaporkan status NotReady.

Sedang

180s

1. Restart containerd atau Docker.

2. Restart kubelet.

3. Jika Allow Node Restart to Repair System And Kubernetes Component Anomalies diaktifkan, restart instans ECS.

KubeletNotReady(SandboxError)

PodSandbox tidak ditemukan, sehingga kubelet tidak dapat dimulai dengan benar.

Tinggi

180s

1. Hapus kontainer sandbox yang sesuai.

2. Restart kubelet.

RuntimeOffline

containerd atau Docker berhenti, sehingga node tidak tersedia.

Tinggi

90s

1. Restart containerd atau Docker.

2. Jika Allow Node Restart to Repair System And Kubernetes Component Anomalies diaktifkan, restart instans ECS.

NTPProblem

Layanan sinkronisasi waktu (ntpd atau chronyd) tidak normal.

Tinggi

10s

Restart ntpd atau chronyd.

SystemdOffline

Status Systemd tidak normal, sehingga kontainer tidak dapat dimulai atau dihentikan.

Tinggi

90s

Jika Allow Node Restart to Repair System And Kubernetes Component Anomalies diaktifkan, restart instans ECS.

ReadonlyFilesystem

Sistem file node menjadi read-only.

Tinggi

90s

Jika Allow Node Restart to Repair System And Kubernetes Component Anomalies diaktifkan, restart instans ECS.

Pengecualian instans node

Pastikan Anda telah menyelesaikan persiapan yang dijelaskan di Before you begin.

Proses perbaikan

Penting

Ketika node Lingjun mengalami kegagalan dan memerlukan perbaikan perangkat keras, proses perbaikan akan redeploy node tersebut dan menghapus semua data pada disk lokalnya. Dalam skenario ini, kami merekomendasikan mengaktifkan opsi Repair Nodes Only After Acquiring Permissions untuk kelompok node agar Anda dapat melakukan backup data sebelum memberikan otorisasi perbaikan.

Dalam kasus pengecualian instans node, proses perbaikan otomatis adalah sebagai berikut.

ACK secara otomatis memicu proses perbaikan berikut 5 menit setelah terjadi pengecualian instans node.
  1. Setelah mendeteksi pengecualian, ACK menambahkan taint berikut ke node yang bermasalah:

    • Key: alibabacloud.com/node-needrepair

    • Value: Unschedulable

    • Effect: NoSchedule

  2. Jika opsi Repair Nodes Only After Acquiring Permissions diaktifkan, ACK menunggu otorisasi Anda sebelum melanjutkan.

    Jika Anda perlu menangani beban kerja pada node yang tidak sehat terlebih dahulu, kami merekomendasikan mengaktifkan Repair Nodes Only After Acquiring Permissions. ACK hanya akan memulai perbaikan setelah Anda memberikan otorisasi.
    1. ACK secara otomatis menambahkan label alibabacloud.com/node-needrepair=Inquiring ke node yang bermasalah.

    2. Anda dapat menangani pod yang berjalan di node tersebut atau melakukan backup data terlebih dahulu. Setelah selesai, berikan otorisasi perbaikan dengan menghapus label alibabacloud.com/node-needrepair atau mengatur nilainya menjadi Approved (alibabacloud.com/node-needrepair=Approved).

    3. Setelah menerima otorisasi Anda, ACK melanjutkan ke langkah berikutnya.

  3. Jika opsi Repair Nodes Only After Acquiring Permissions tidak diaktifkan, ACK secara otomatis melanjutkan ke langkah berikutnya setelah mendeteksi pengecualian.

  4. ACK melakukan drain pada node. Operasi drain akan timeout setelah 30 menit.

    Saat melakukan drain node, ACK mengeluarkan pod sambil menghormati Pod Disruption Budgets (PDBs) yang dikonfigurasi. Untuk memastikan ketersediaan layanan yang tinggi, kami merekomendasikan men-deploy beban kerja Anda dengan beberapa replika di berbagai node. Selain itu, konfigurasikan PDB untuk layanan kritis guna mengontrol gangguan bersamaan.

    Jika drain gagal, ACK tetap melanjutkan ke langkah berikutnya.

  5. ACK melakukan tindakan perbaikan, seperti restart node atau memulai perbaikan perangkat keras.

  6. ACK memeriksa apakah status node telah kembali normal.

    • Jika gangguan teratasi, ACK menghapus taint, dan node kembali ke kondisi normal.

    • Jika gangguan tetap ada atau proses perbaikan gagal, taint tidak dihapus. ACK secara berkala mengirimkan notifikasi event. Anda dapat melihat event tersebut untuk troubleshooting atau submit a ticket.

  7. (Untuk skenario dedicated GPU) Ketika status kartu GPU kembali normal, ACK menghapus isolasinya.

Kondisi node yang memicu perbaikan otomatis

Penting

Jika perbaikan perangkat keras dilakukan pada node Lingjun, Anda harus secara manual menghapus node tersebut dari kelompok node setelah perbaikan berhasil. Kemudian, tambahkan kembali perangkat yang telah diperbaiki ke kelompok node dengan menambahkannya sebagai node yang sudah ada. Untuk informasi lebih lanjut dan pertimbangan penting, lihat Remove a node dan Add an existing Lingjun node.

Kondisi node

Deskripsi

Tindakan perbaikan

NvidiaXID74Error

Menunjukkan kesalahan perangkat keras NVLink yang fatal. Kegagalan parah ini memerlukan perbaikan offline.

Perbaikan perangkat keras

NvidiaXID79Error

Menunjukkan GPU "terlepas dari bus"—artinya GPU tidak lagi terdeteksi oleh sistem. Kegagalan perangkat keras parah ini memerlukan perbaikan offline.

Perbaikan perangkat keras

NvidiaRemappingRowsFailed

GPU gagal melakukan remapping baris.

Perbaikan perangkat keras

NvidiaDeviceLost

GPU terlepas dari bus atau menjadi tidak dapat diakses.

Perbaikan perangkat keras

NvidiaInfoRomCorrupted

infoROM rusak.

Perbaikan perangkat keras

NvidiaPowerCableErr

Kabel daya eksternal perangkat tidak terpasang dengan benar.

Perbaikan perangkat keras

NvidiaXID95Error

Menunjukkan kesalahan ECC yang tidak terkandung. Semua aplikasi pada GPU terpengaruh. GPU harus di-reset sebelum aplikasi dapat dijalankan ulang.

Restart node

NvidiaXID48Error

Menunjukkan Double Bit ECC Error (DBE). Kesalahan yang tidak dapat diperbaiki ini memerlukan reset GPU atau restart node untuk membersihkannya.

Restart node

NvidiaXID119Error

Terjadi timeout saat menunggu respons inti GSP terhadap pesan RPC.

Restart node

NvidiaXID140Error

Menunjukkan kesalahan ECC yang tidak pulih. Driver mendeteksi kesalahan yang tidak dapat diperbaiki pada memori GPU, sehingga memerlukan reset GPU.

Restart node

NvidiaXID120Error

Terjadi kesalahan pada kode yang berjalan di inti GSP GPU.

Restart node

NvidiaPendingRetiredPages

GPU memiliki halaman yang ditunda untuk pensiun yang memerlukan reset GPU agar berlaku.

Restart node

NvidiaRemappingRowsRequireReset

GPU memiliki kesalahan yang tidak dapat diperbaiki dan tidak terkandung yang memerlukan reset GPU untuk pemulihan.

Restart node

NvidiaXID44Error

Menunjukkan kesalahan Graphics Engine selama context switch. Kesalahan yang tidak dapat diperbaiki ini memerlukan reset GPU atau restart node.

Restart node

NvidiaXID61Error

Menunjukkan breakpoint atau peringatan mikrokontroler internal. Kesalahan yang tidak dapat diperbaiki ini memerlukan reset GPU atau restart node.

Restart node

NvidiaXID62Error

Menunjukkan penghentian mikrokontroler internal. Kesalahan yang tidak dapat diperbaiki ini memerlukan reset GPU atau restart node.

Restart node

NvidiaXID69Error

Menunjukkan kesalahan kelas Graphics Engine. Kesalahan yang tidak dapat diperbaiki ini memerlukan reset GPU atau restart node.

Restart node

Untuk informasi lebih lanjut tentang item-item ini, seperti kondisi node yang dihasilkan dan apakah menghasilkan event, lihat GPU exception detection and automatic isolation.

Status node selama proses perbaikan otomatis

  • Selama tugas perbaikan sedang berlangsung, status node adalah Repairing.

  • Jika perbaikan selesai dan gangguan teratasi, node kembali ke kondisi normal.

  • Jika perbaikan selesai tetapi gangguan tetap ada, status node diatur menjadi Recovery failed.

    Node dalam status Recovery failed tidak akan memicu operasi perbaikan otomatis lainnya hingga gangguan dasarnya teratasi.

Lihat event perbaikan otomatis node

Ketika ACK memicu operasi perbaikan otomatis node, ACK mencatat event terkait di Event Center. Di halaman detail kluster Anda, pilih Operations > Event Center untuk melihat catatan pemulihan otomatis dan tindakan spesifik yang diambil. Anda dapat berlangganan event ini sebagaimana dijelaskan di Event monitoring.

Event

Level

Deskripsi

NodeRepairStart

Normal

Perbaikan otomatis node telah dimulai.

NodeRepairAction

Normal

Tindakan perbaikan otomatis node telah dilakukan, seperti restart kubelet.

NodeRepairSucceed

Normal

Perbaikan otomatis node berhasil.

NodeRepairFailed

Warning

Perbaikan otomatis node gagal. Untuk troubleshooting, lihat bagian FAQ di bawah ini.

NodeRepairIgnore

Normal

Perbaikan otomatis node dilewati karena instans ECS tidak dalam status running.

FAQ

Apa yang harus saya lakukan jika perbaikan otomatis node gagal?

Karena kompleksitas beberapa kegagalan, perbaikan otomatis tidak dapat menangani semua kegagalan. Ketika tugas perbaikan otomatis gagal atau gangguan tetap ada setelah tugas selesai, ACK mengatur status node menjadi Recovery failed. Jika suatu node gagal diperbaiki, ACK menghentikan proses perbaikan otomatis untuk node bermasalah lainnya dalam kelompok node tersebut hingga gangguan awal teratasi. Submit a ticket untuk menghubungi dukungan teknis.

Dokumen terkait