Tempah Konsultasi Hantar Tiket

Menguasai Respons Insiden Kubernetes: Mengendalian Tekanan Cakera Nod

Panduan praktikal untuk mendiagnosis dan menyelesaikan insiden 'Nod Tidak Sedia' yang disebabkan oleh tekanan cakera, dengan arahan dan kawalan risiko.

Menguasai Respons Insiden Kubernetes: Mengendalian Tekanan Cakera Nod
Kubernetes 6min 19 paparan 2026-06-17
KubernetesSRERespons InsidenKebolehpercayaan Kluster

Senario

Anda sedang on-call dan menerima amaran bahawa nod dalam kluster telah menjadi NotReady. Pod yang berjalan pada nod tersebut menjadi tidak sihat, beberapa diusir. Rakan sekerja melaporkan aplikasi tamat masa di nod itu.

Gejala

  • kubectl get nodes menunjukkan nod sebagai NotReady
  • kubectl describe node <node> menunjukkan keadaan DiskPressure sebagai True
  • Pod pada nod dalam status Pending atau Terminating
  • Log kubelet mengandungi eviction manager: attempting to reclaim ephemeral-storage

Diagnosis

  1. Sahkan status nod: kubectl get nodes -o wide
  2. Periksa keadaan nod: kubectl describe node <node> | grep -A5 Conditions
  3. SSH ke nod dan periksa penggunaan cakera: df -h dan du -sh /var/lib/kubelet
  4. Lihat log kubelet: journalctl -u kubelet -n 100 --no-pager | grep -i pressure
  5. Periksa peristiwa pengusiran pod: kubectl get events --field-selector involvedObject.kind=Node,involvedObject.name=<node>

Arahan

# Kordon nod untuk mengelakkan pod baru
kubectl cordon <node>

# Toskan pod dari nod (abaikan DaemonSet, padam data emptyDir)
kubectl drain <node> --ignore-daemonsets --delete-emptydir-data

# (SSH ke nod) Kosongkan ruang cakera
ssh user@<node-ip>
sudo journalctl --vacuum-time=1d   # bersihkan log lama
sudo docker system prune -a -f     # bersihkan imej yang tidak digunakan (jika guna Docker)
# atau containerd: crictl rmi --prune
sudo du -sh /var/log && sudo find /var/log -type f -name "*.log" -mtime +7 -delete

# Sahkan ruang yang dibebaskan
df -h /var/lib/kubelet

Kawalan Risiko

  • Pastikan PodDisruptionBudgets (PDB) melindungi beban kerja kritikal sebelum menoskan.
  • Jika nod mempunyai storan setempat (hostPath), toskan akan menyebabkan kehilangan data; buat sandaran dahulu.
  • --delete-emptydir-data memadamkan volume emptyDir; sahkan tiada data sementara yang penting.
  • Sentiasa kordon sebelum toskan untuk mengelakkan pengusiran paksa.

Pengembalian

  1. Jika nod pulih selepas pembersihan (NotReady hilang): - Nyahkordon nod: kubectl uncordon <node> - Sahkan pod dijadualkan semula: kubectl get pods -o wide | grep <node>
  2. Jika tekanan cakera berterusan atau kegagalan perkakasan: - Toskan nod sepenuhnya: kubectl drain <node> --ignore-daemonsets --force (gunakan dengan berhati-hati) - Nyahtauliah dan ganti nod.

Pengesahan

  • Status nod menjadi Ready: kubectl get nodes
  • Semua beban kerja berjalan: kubectl get pods --all-namespaces | grep -v Running | grep -v Completed
  • Amaran diselesaikan.

Bila Serahkan Tiket OpsGlobal

  • Nod tidak boleh dipulihkan melalui pembersihan (kegagalan perkakasan/isu berterusan).
  • Pelbagai nod mengalami tekanan cakera serentak, memerlukan penskalaan atau perubahan strategi storan.
  • Ketidakpastian tentang kesan operasi pembersihan terhadap pengeluaran.
  • Perubahan infrastruktur kekal diperlukan (contohnya, mengubah saiz cakera nod).

Pasukan SRE OpsGlobal menyediakan sokongan 24/7, pembetulan automatik melalui Terraform, dan reka bentuk seni bina kluster yang menyembuhkan sendiri.

Senario Penggunaan

Sesuai untuk pasukan yang menyelesaikan isu Kubernetes dan memerlukan aliran kerja yang jelas.

Latar Belakang Masalah

Panduan praktikal untuk mendiagnosis dan menyelesaikan insiden 'Nod Tidak Sedia' yang disebabkan oleh tekanan cakera, dengan arahan dan kawalan risiko.

Langkah Penyelesaian

Sahkan impak dan perubahan terkini, kumpul log, konfigurasi dan metrik, kemudian baiki mengikut risiko.

Contoh Arahan

Gantikan contoh dengan nama sumber sebenar dan simpan kata laluan, token atau kunci dalam pembolehubah persekitaran.

Risiko

Sebelum operasi produksi, semak sandaran, akses, tetingkap perubahan dan pelan rollback.

Pelan Rollback

Simpan konfigurasi dan versi asal; rollback konfigurasi, imej atau perubahan pangkalan data jika metrik tidak normal.

Senarai Serahan

Rekod punca isu, arahan penting, langkah pembaikan, hasil pengesahan dan cadangan susulan.

!

Perlu bantuan isu teknikal serupa?

Jika pelayan, Kubernetes, Docker, CI/CD, pangkalan data atau pemantauan anda bermasalah, hantar log dan konfigurasi untuk diagnosis jauh.

Tiket Hubungi WhatsApp Konsultasi