Tempah Konsultasi Hantar Tiket

Kejuruteraan Lepasan DevOps: Melaksanakan Pagar Pelindung CI/CD untuk Kestabilan Pengeluaran

Pelajari cara menguatkuasakan pintu keselamatan dalam saluran paip CI/CD untuk mencegah penggunaan yang buruk, dengan arahan praktikal dan strategi gulung balik.

Kejuruteraan Lepasan DevOps: Melaksanakan Pagar Pelindung CI/CD untuk Kestabilan Pengeluaran
CI/CD 6min 7 paparan 2026-06-21
KubernetesSRE

Senario

Satu pasukan menggunakan aplikasi beberapa kali sehari tetapi sering menghadapi gangguan pengeluaran. Selepas penggunaan, pemantauan menunjukkan lonjakan kadar ralat dan pemeriksaan kesihatan gagal. Pasukan terburu-buru untuk membuat gulung balik, tetapi kekurangan automasi menyebabkan masa henti yang panjang.

Gejala

  • Kadar ralat meningkat >20% dalam masa 5 minit selepas penggunaan
  • Pemeriksaan kesihatan Pod Kubernetes gagal
  • Pengguna melaporkan ketidaktersediaan ciri
  • Gulung balik mengambil masa >10 minit secara manual

Diagnosis

Punca utama: ketiadaan pagar pelindung CI/CD. Tiada ujian pra-penggunaan automatik, analisis canary yang tidak mencukupi, dan prosedur gulung balik yang tidak matang. Isu khusus: 1. Saluran paip tidak mempunyai ujian integrasi atau imbasan keselamatan 2. Penggunaan terus ke pengeluaran tanpa canary 3. Tiada pencetus gulung balik automatik 4. Ambang pemeriksaan kesihatan tidak dikonfigurasi dengan betul

Arahan

Laksanakan pagar pelindung dalam GitHub Actions:

# Ujian pra-penggunaan
- name: Run integration tests
  run: make test-integration

# Penggunaan canary
- name: Deploy canary
  run: |
    kubectl set image deployment/app-canary app=myapp:${GITHUB_SHA} --record
    kubectl rollout status deployment/app-canary --timeout=5m

# Pemeriksaan kesihatan
- name: Verify canary health
  run: |
    kubectl run curl --image=radial/busyboxplus:curl -i --rm --restart=Never -- curl -f http://canary-service/health

# Gulung balik automatik jika gagal
- name: Rollback if failed
  if: failure()
  run: |
    kubectl rollout undo deployment/app-canary
    echo "Canary deployment failed, rolled back." && exit 1

Kawalan Risiko

  • Lepasan canary: Hala 10% trafik ke versi baharu, perhatikan selama 5 minit
  • Bendera ciri: Gunakan LaunchDarkly atau ConfigMap untuk melumpuhkan ciri bermasalah secara dinamik
  • Penghantaran progresif: Gunakan Flagger atau Argo Rollouts untuk meningkatkan trafik secara beransur-ansur secara automatik
  • Had sumber: Tetapkan kuota CPU/memori untuk mengelakkan kehabisan sumber

Gulung Balik

Gulung Balik Automatik

Apabila pemeriksaan kesihatan canary gagal, gulung balik automatik:

kubectl rollout undo deployment/app-canary
kubectl scale deployment/app-stable --replicas=10

Gulung Balik Manual

Jika gulung balik automatik gagal, SRE boleh laksanakan:

kubectl rollout undo deployment/app --to-revision=<previous-revision>
kubectl rollout status deployment/app

Pengesahan

  • Pantau kadar ralat (contoh: Prometheus + Alertmanager)
  • Periksa status pod: kubectl get pods -l app=app-stable
  • Jalankan transaksi sintetik: curl -f https://api.example.com/v1/health
  • Sahkan SLO: kadar ralat <1% dalam masa 5 minit selepas penggunaan

Bila Hantar Tiket OpsGlobal

  • Gulung balik kompleks merentas pelbagai kluster atau rantau
  • Pagar pelindung itu sendiri gagal (contoh: positif palsu atau pengesanan terlepas)
  • Pembetulan panas segera diperlukan tetapi saluran paip tersekat
  • Metrik tersuai atau dasar memerlukan pelarasan pakar

Senario Penggunaan

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

Latar Belakang Masalah

Pelajari cara menguatkuasakan pintu keselamatan dalam saluran paip CI/CD untuk mencegah penggunaan yang buruk, dengan arahan praktikal dan strategi gulung balik.

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