Senario
Deployment kritikal mengalami persaingan sumber semasa trafik tinggi, menyebabkan kependaman meningkat dan sebahagian permintaan tamat masa.
Gejala
- Kiraan but semula Pod melonjak (kubectl get pods menunjukkan CrashLoopBackOff).
- Aplikasi mengembalikan ralat 503.
- Penggunaan CPU/memori nod melebihi 80%.
- Pengguna melaporkan masa respons lambat.
Diagnosis
- Periksa sumber nod:
kubectl top nodesmenunjukkan penggunaan. - Periksa status Pod:
kubectl get pods -o widemengenal pasti taburan Pod abnormal. - Selidiki Pod:
kubectl describe pod <pod-name>untuk peristiwa dan had sumber. - Analisis log:
kubectl logs <pod-name> --tail=100untuk mencari ralat. - Peristiwa kluster:
kubectl get events --sort-by='.lastTimestamp'untuk mencari pencetus.
Contoh Arahan
# Lihat sumber nod
kubectl top nodes
# Senarai Pod yang tidak Running merentasi namespace
kubectl get pods --all-namespaces | grep -v Running
# Huraikan deployment
kubectl describe deployment <deployment-name>
# Log ekor untuk label
kubectl logs --tail=50 -l app=<app-label>
Kawalan Risiko
- Tetapkan ResourceQuota untuk mengelakkan satu pasukan menghabiskan sumber kluster.
- Gunakan PriorityClass untuk memastikan perkhidmatan kritikal dijadualkan dahulu.
- Konfigurasikan PodDisruptionBudget untuk mengelakkan gangguan penuh semasa pengemaskinian bergulir.
- Aktifkan HorizontalPodAutoscaler untuk deployment kritikal.
Prosedur Pengembalian
# Kembali ke semakan sebelumnya
kubectl rollout undo deployment/<deployment-name>
# Kembali ke semakan tertentu
kubectl rollout undo deployment/<deployment-name> --to-revision=3
# Sahkan status pengembalian
kubectl rollout status deployment/<deployment-name>
Pengesahan
- Pantau metrik: kependaman permintaan (P99), kadar ralat, kiraan but semula Pod.
- Pelancaran canary: gunakan versi baharu pada subset kecil dan perhatikan.
- Ujian beban: simulasi trafik menggunakan hey atau wrk untuk memastikan prestasi.
Bila Hantar Tiket OpsGlobal
- Punca tidak jelas dan isu berterusan melebihi 30 minit.
- Perlukan audit peringkat kluster, contohnya pertanyaan etcd perlahan, anomali satah kawalan.
- Pasukan dalaman kurang pengalaman dalam semakan selepas insiden.
- Perlukan bantuan pakar dalam pengoptimuman sumber atau seni bina.
Pasukan SRE OpsGlobal menyediakan sokongan 24/7 untuk membantu anda pulih dengan cepat dan mencegah pengulangan.
Senario Penggunaan
Sesuai untuk pasukan yang menyelesaikan isu Kubernetes dan memerlukan aliran kerja yang jelas.
Latar Belakang Masalah
Panduan ini membimbing melalui senario insiden Kubernetes sebenar, dari pengesanan gejala hingga pengembalian, dengan arahan praktikal dan kawalan risiko. Ketahui bila untuk menghubungi OpsGlobal untuk sokongan pakar.
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.