Tempah Konsultasi Hantar Tiket

Tindak Balas Insiden dan Kebolehpercayaan Kluster Kubernetes: Panduan Praktikal

Artikel ini membincangkan senario sebenar insiden Kubernetes di mana nod mengalami tekanan cakera, meliputi pengenalpastian gejala, diagnosis, arahan, kawalan risiko, pemulihan, pengembalian, pengesahan, dan kriteria untuk menghantar tiket OpsGlobal.

Tindak Balas Insiden dan Kebolehpercayaan Kluster Kubernetes: Panduan Praktikal
Kubernetes 6min 10 paparan 2026-06-13
Kubernetestindak balas insidentekanan cakerapengusiran podkebolehpercayaan kluster

Senario

Seorang nod pekerja mengalami tekanan cakera akibat ruang cakera rendah, menyebabkan pod diusir dan tersekat dalam status Pending.

Gejala

  • kubectl get nodes menunjukkan keadaan nod DiskPressure
  • Pod yang diusir menunjukkan status Pending; kubectl describe pod mendedahkan 0/1 nodes are available: 1 node had taint {node.kubernetes.io/disk-pressure: }
  • kubectl get events -n <namespace> menunjukkan peristiwa Evicted

Diagnosis

  1. Periksa keadaan nod: bash kubectl describe node <nama-nod> | grep -A5 Conditions Cari DiskPressure yang ditetapkan kepada True.
  2. SSH ke nod dan periksa penggunaan cakera: bash ssh <ip-nod> df -h Kenal pasti partisi yang hampir 100% (biasanya /var/lib/docker atau /var/lib/kubelet).
  3. Pilihan: Gunakan kubectl top nodes untuk memeriksa tekanan sumber keseluruhan.

Kawalan Risiko

  1. Hentikan penjadualan: Cordonkan nod serta-merta untuk mengelakkan pod baru. bash kubectl cordon <nama-nod>
  2. Keluarkan beban kerja: Jika pemulihan tidak segera, usir semua pod bukan daemonset dengan selamat: bash kubectl drain <nama-nod> --ignore-daemonsets --delete-emptydir-data Nota keselamatan: --delete-emptydir-data memadam data emptyDir; pastikan ia telah disandarkan atau boleh dibuang.
  3. Pelihara pod sistem: Pod DaemonSet (contohnya kube-proxy) kekal, fungsi asas nod terpelihara.

Tindakan Pemulihan

  1. Bebaskan ruang cakera: - Buang imej kontena yang tidak digunakan: docker image prune -a (memerlukan akses nod) - Potong log kontena: truncate -s 0 /var/lib/docker/containers/*/*-json.log - Bersihkan log kubelet: journalctl --vacuum-size=500M
  2. Sahkan tekanan berkurang: bash kubectl describe node <nama-nod> | grep -A5 Conditions Pastikan DiskPressure adalah False.

Pengembalian

  1. Aktifkan semula penjadualan: bash kubectl uncordon <nama-nod>
  2. Pulihkan pod yang diusir: Biasanya automatik melalui pengawal; jika tidak, skala secara manual: bash kubectl scale deployment <nama-deployment> --replicas=<kiraan-asal>
  3. Sahkan status pod: bash kubectl get pods -o wide | grep <nama-nod> Pastikan pod berjalan dan tidak diusir semula.

Pengesahan

  1. Kesihatan nod: Periksa semula keadaan nod – DiskPressure sepatutnya False, Ready normal.
  2. Status pod: Semua pod sepatutnya Running atau Completed.
  3. Peristiwa kluster: kubectl get events --all-namespaces tiada pengusiran atau ralat luar biasa.
  4. Metrik perniagaan: Sahkan latensi aplikasi, kadar ralat, dll., telah kembali ke garis dasar.

Bila Perlu Hantar Tiket OpsGlobal

  • Pemulihan automatik gagal: Tekanan cakera nod berterusan walaupun langkah di atas.
  • Berbilang nod terjejas: Dua atau lebih nod pekerja menunjukkan tekanan serupa, mungkin menandakan isu storan.
  • Kebimbangan kehilangan data: Data kritikal hilang akibat pengusiran (contohnya, perlu pemulihan volum kekal).
  • Kesan peringkat kluster: Nod satah kawalan juga tertekan, atau pelayan API menjadi perlahan.

Semasa membuat tiket, sertakan: nama nod, cap waktu peristiwa, output kubectl describe node, dan tangkapan skrin penggunaan cakera.

Senario Penggunaan

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

Latar Belakang Masalah

Artikel ini membincangkan senario sebenar insiden Kubernetes di mana nod mengalami tekanan cakera, meliputi pengenalpastian gejala, diagnosis, arahan, kawalan risiko, pemulihan, pengembalian, pengesahan, dan kriteria untuk menghantar tiket OpsGlobal.

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