Tempah Konsultasi Hantar Tiket

Tindak Balas Insiden Kubernetes: Mendiagnosis dan Menyelesaikan Isu Kebolehpercayaan Kluster

Panduan praktikal untuk SRE menangani insiden Kubernetes biasa, dari pengesanan gejala hingga pengembalian dan eskalasi.

Tindak Balas Insiden Kubernetes: Mendiagnosis dan Menyelesaikan Isu Kebolehpercayaan Kluster
Kubernetes 6min 39 paparan 2026-07-24
KubernetesSRETindak Balas Insiden

Senario

Kluster Kubernetes pengeluaran mengalami beberapa pod yang berulang kali ranap dan memasuki keadaan CrashLoopBackOff, menyebabkan kemerosotan perkhidmatan.

Gejala

  • kubectl get pods menunjukkan banyak keadaan CrashLoopBackOff
  • kubectl describe pod menunjukkan Last State sebagai Error atau OOMKilled
  • Node menunjukkan NotReady atau tekanan memori/CPU yang tinggi (kubectl top nodes)

Diagnosis

  1. Periksa kesihatan nod: kubectl get nodes -o wide untuk melihat status, journalctl -u kubelet untuk log kubelet.
  2. Lihat peristiwa: kubectl get events --sort-by=.metadata.creationTimestamp untuk mengenal pasti garis masa.
  3. Analisis log pod: kubectl logs <pod> --previous untuk log ranap terakhir.
  4. Periksa kuota sumber: kubectl describe quota untuk mengesahkan had yang dilampaui.

Arahan

# Senarai pod yang ranap di semua ruang nama
kubectl get pods --all-namespaces | grep -E 'CrashLoop|Error|OOM'

# Dapatkan peristiwa terperinci untuk pod tertentu
kubectl describe pod my-app-5d8c9b7f6-abcde -n production

# Periksa sumber nod
kubectl top nodes

# Lihat penggunaan sumber pod pada nod
kubectl describe node worker-node-1 | grep -A 5 'Non-terminated Pods'

Kawalan Risiko

  • Sebelum mengubah suai sumber, kordon nod: kubectl cordon <node> untuk mengelakkan pod baru dijadualkan.
  • Keringkan nod dengan selamat: kubectl drain <node> --ignore-daemonsets --delete-local-data
  • Sahkan kapasiti nod yang mencukupi sebelum menambah permintaan/had sumber.

Pengembalian

Jika disebabkan oleh perubahan konfigurasi terkini: - Kembalikan deployment: kubectl rollout undo deployment/my-app - Kembalikan ke semakan tertentu: kubectl rollout undo deployment/my-app --to-revision=2 - Sahkan pengembalian: kubectl rollout status deployment/my-app

Pengesahan

  • Periksa status pod: kubectl get pods -o wide untuk mengesahkan Running
  • Periksa titik akhir perkhidmatan: kubectl get endpoints <service> menunjukkan IP yang betul
  • Semak kesihatan aplikasi: Hantar permintaan HTTP untuk mengesahkan respons yang betul
  • Pantau metrik: Periksa pemantauan kluster (contohnya Prometheus) untuk CPU/memori yang pulih

Bila Perlu Hantar Tiket OpsGlobal

  • Nod tidak dapat dicapai sepenuhnya dan tidak boleh dikeringkan
  • Kegagalan volume persisten menyebabkan data tidak tersedia
  • Isu komponen satah kawalan (etcd, apiserver)
  • Tampalan segera diperlukan tetapi kurang kepakaran dalaman
  • Isu rangkaian kompleks yang tidak dapat diselesaikan dalam masa 24 jam

Senario Penggunaan

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

Latar Belakang Masalah

Panduan praktikal untuk SRE menangani insiden Kubernetes biasa, dari pengesanan gejala hingga pengembalian dan eskalasi.

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