Tempah Konsultasi Hantar Tiket

Melaksanakan Pengawal CI/CD untuk Kejuruteraan Siaran yang Lebih Selamat

Artikel ini membincangkan cara menetapkan pengawal dalam saluran paip CI/CD untuk mengelakkan siaran buruk daripada menjejaskan pengeluaran. Termasuk senario, diagnosis, arahan, kawalan risiko, gulung semula, pengesahan, dan bila perlu menghantar tiket kepada OpsGlobal.

Melaksanakan Pengawal CI/CD untuk Kejuruteraan Siaran yang Lebih Selamat
CI/CD 6min 85 paparan 2026-07-03
KubernetesSRECI/CDkejuruteraan siaranpelaksanaan canary

Senario

Sebuah platform e-dagang menjalankan perkhidmatan mikro di Kubernetes. Siaran kerap menyebabkan kelewatan gulung semula, penyimpangan konfigurasi, dan kegagalan canary. Pasukan mahu pengawal CI/CD untuk mengurangkan risiko.

Gejala

  • Kependaman P90 meningkat >20% selepas siaran
  • Kadar ralat melebihi 0.1% dan semakin meningkat
  • Gulung semula mengambil masa >30 minit
  • Suis trafik canary menyebabkan ralat 502

Diagnosis

  1. Periksa log saluran paip untuk peringkat gagal (bina, uji, gunakan)
  2. Lihat peristiwa Kubernetes: kubectl get events --all-namespaces --sort-by=.lastTimestamp
  3. Guna metrik Prometheus: http_requests_total{status=~"5.."}
  4. Analisis canary: kubectl argo rollouts get rollout my-app -n production

Arahan

# Tetapkan syarat gulung semula automatik
export ROLLBACK_THRESHOLD=0.1 # kadar ralat > 0.1% cetus gulung semula
kubectl set env deployment/my-app MAX_ERROR_RATE=$ROLLBACK_THRESHOLD

# Laksanakan kuota sumber melalui pengawal kemasukan
kubectl apply -f - <<EOF
apiVersion: v1
kind: ResourceQuota
metadata:
  name: release-quota
spec:
  hard:
    limits.cpu: "4"
    limits.memory: 8Gi
EOF

Kawalan Risiko

  • Laksanakan penghantaran progresif: canary 10% → 50% → 100%, perhatikan 5 min setiap satu
  • Jeda automatik pelaksanaan: kubectl rollout pause deployment/my-app
  • Sahkan tandatangan imej: cosign verify --key cosign.pub my-image:tag
  • Kuatkuasakan perlindungan cawangan: semakan PR wajib dan semakan status

Gulung Semula

Gulung semula pantas:

kubectl rollout undo deployment/my-app --to-revision=2
# Atau guna Argo Rollouts
kubectl argo rollouts abort rollout my-app

Jalankan ujian asap selepas gulung semula: kubectl run smoke-test --image=busybox -- wget -qO- http://my-app/health

Pengesahan

  1. Periksa status pelaksanaan: kubectl rollout status deployment/my-app
  2. Jalankan ujian integrasi: kubectl exec -it test-pod -- curl -f http://my-app/api/v1/status
  3. Sahkan metrik utama dipulihkan: kubectl top pods -l app=my-app
  4. Sahkan suis trafik canary: lihat papan pemuka Argo Rollouts

Bila Menghantar Tiket OpsGlobal

  • Skrip gulung semula anda gagal dan campur tangan manual tidak berjaya
  • Gulung semula berbilang kluster memerlukan koordinasi
  • Kelemahan keselamatan memerlukan hotfix tetapi pengawal menghalang siaran
  • Alat analisis canary (cth., Argo Rollouts) menunjukkan kelainan tetapi punca tidak diketahui
  • Perlu bantuan mereka bentuk pengawal lanjutan (cth., pengesanan anomali berasaskan ML)

Senario Penggunaan

Sesuai untuk pasukan yang menyelesaikan isu CI/CD dan memerlukan aliran kerja yang jelas.

Latar Belakang Masalah

Artikel ini membincangkan cara menetapkan pengawal dalam saluran paip CI/CD untuk mengelakkan siaran buruk daripada menjejaskan pengeluaran. Termasuk senario, diagnosis, arahan, kawalan risiko, gulung semula, pengesahan, dan bila perlu menghantar tiket kepada 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