Senario
Pasukan anda menjalankan perkhidmatan Kubernetes kritikal yang digunakan melalui Jenkins Pipeline ke pengeluaran. Selepas pelepasan, pemantauan menunjukkan peningkatan kadar ralat dan kependaman. Tetapan max_connections yang salah menyebabkan kumpulan sambungan pangkalan data kehabisan. Tiada pepijat kod, tetapi tiada pemeriksaan automatik yang menangkapnya.
Gejala
- Ralat HTTP 500 sejurus selepas penggunaan.
- Masa respons meningkat dari 50ms ke 5s.
- Kumpulan sambungan pangkalan data mencapai had maksimum.
- PagerDuty diaktifkan.
Diagnosis
- Periksa status Pod:
kubectl get pods -n production— beberapa pod dalamCrashLoopBackOff. - Lihat log:
kubectl logs -n production deployment/app-backend --tail=50— ralat tamat masa sambungan. - Periksa ConfigMap:
kubectl describe configmap app-config -n production—max_connectionsditetapkan ke0.
Arahan & Kawalan Risiko
Melaksanakan Pengawal
- Pengesahan konfigurasi statik: Tambah
conftestke pipeline.bash conftest test deployment.yaml -p opa/policies/ - Ujian integrasi: Gunakan ke ruang nama sementara, jalankan ujian asap.
bash kubectl create ns test-release kubectl apply -f deployment.yaml -n test-release # jalankan ujian kubectl delete ns test-release - Penghantaran progresif: Gunakan Argo Rollouts untuk canary.
yaml apiVersion: argoproj.io/v1alpha1 kind: Rollout spec: strategy: canary: steps: - setWeight: 10 - pause: {duration: 1m}
Rollback
- Rollback pantas:
kubectl rollout undo deployment/app-backend -n production - Sahkan:
kubectl rollout status deployment/app-backend -n production - Pastikan kadar ralat menurun.
Pengesahan
- Periksa metrik utama: kadar ralat <0.1%, kependaman P99 <200ms.
- Transaksi sintetik:
curl -f https://api.example.com/healthz
Bila Perlu Hantar Tiket OpsGlobal
- Jika rollback tidak menyelesaikan atau audit CI/CD diperlukan.
- Untuk mereka bentuk pengawal tersuai (contohnya, dasar OPA).
- Jika pasukan kurang pengalaman dengan penghantaran progresif atau penggunaan canary.
Pasukan SRE OpsGlobal boleh membantu membina pengawal CI/CD yang mantap untuk pelepasan yang selamat dan boleh dipercayai.
Senario Penggunaan
Sesuai untuk pasukan yang menyelesaikan isu CI/CD dan memerlukan aliran kerja yang jelas.
Latar Belakang Masalah
Pelajari cara melaksanakan pengawal CI/CD untuk penggunaan Kubernetes yang boleh dipercayai, termasuk senario, arahan diagnostik, kawalan risiko, dan langkah rollback.
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.