Tempah Konsultasi Hantar Tiket

Pengawal CI/CD: Kejuruteraan Pelepasan Bertaraf Pengeluaran untuk Kubernetes

Pelajari cara melaksanakan pemeriksaan keselamatan, pintu kelulusan, dan pengembalian automatik dalam saluran paip CI/CD untuk mengelakkan penggunaan buruk menyebabkan masa henti.

Pengawal CI/CD: Kejuruteraan Pelepasan Bertaraf Pengeluaran untuk Kubernetes
CI/CD 6min 67 paparan 2026-06-29
KubernetesSRECI/CDkejuruteraan pelepasan

Senario

Satu pasukan menggunakan perkhidmatan yang salah konfigurasi ke Kubernetes melalui CI/CD, menyebabkan kadar ralat 5xx meningkat daripada 0.1% kepada 15%. Tanpa pengawal, versi yang salah merebak ke semua contoh, dan pengembalian manual perlahan menyebabkan 45 minit downtime.

Gejala

  • Peningkatan mendadak dalam kadar ralat aplikasi
  • Pod baru dalam CrashLoopBackOff
  • Lonjakan kependaman P99 dalam pemantauan
  • Pengalaman pengguna terjejas

Diagnosis

  • Periksa penggunaan terkini: kubectl rollout history deployment/my-app
  • Lihat peristiwa Pod: kubectl describe pod <pod-name>
  • Bandingkan konfigurasi lama vs baru: kubectl diff -f prod-deployment.yaml
  • Punca utama: Ketiadaan pengesahan pra-penggunaan, ujian asap, dan strategi pelancaran berperingkat.

Perintah & Pelaksanaan Pengawal

1. Pengesahan Konfigurasi Automatik

Tambahkan semakan statik dalam CI:

job: validate
  script:
    - kubectl kustomize . | kubeconform --strict
    - trivy config .

2. Strategi Penggunaan Selamat

Gunakan penghantaran progresif ArgoCD atau kemas kini bergulir asli dengan readinessGate:

spec:
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
      readinessGates:
        - conditionType: "com.example/health-check"

3. Pintu Automatik

Gabungkan GitOps dengan aliran kerja kelulusan: - Sandbox: auto-deploy + ujian asap - Staging: memerlukan kelulusan manual - Pengeluaran: auto-canary (10% trafik selama 5 minit)

Kawalan Risiko

  • Wajibkan pengimbasan kod (SAST/DAST)
  • Pengesahan tandatangan imej (Cosign)
  • Enjin dasar (OPA/Gatekeeper) untuk menyekat kontena istimewa
  • Tetapkan ambang pengembalian automatik: kadar ralat >5% atau Pod sihat <80% mencetuskan pengembalian segera

Contoh Skrip Pengembalian Automatik

#!/bin/bash
# Pantau kadar ralat selepas penggunaan, undur jika melebihi ambang
rollback_if_unhealthy() {
  local target=$1
  local threshold=$2
  local error_rate=$(kubectl exec -it health-check -- curl -s /metrics | grep errors_total | awk '{print $2}')
  if (( $(echo "$error_rate > $threshold" | bc -l) )); then
    kubectl rollout undo deployment/$target
    echo "Pengembalian dicetuskan kerana kadar ralat $error_rate > $threshold"
    exit 1
  fi
}

Prosedur Pengembalian

  • Automatik: Prometheus + Alertmanager mencetuskan webhook melaksanakan kubectl rollout undo
  • Manual: Git revert mencetuskan penyelarasan automatik ArgoCD
  • Pastikan keserasian pangkalan data (pelan pengembalian skema jika perlu)

Pengesahan

  • Jalankan ujian asap selepas penggunaan: kubectl run smoke-test --image=busybox -- wget -q -O- http://my-app/health
  • Semak papan pemantauan: kadar ralat, kependaman, ketepuan
  • Periksa amaran baru

Bila Serahkan Tiket OpsGlobal

  • Penggulungan perkhidmatan berbilang secara melata gagal
  • Isu infrastruktur asas (Ingress Controller, DNS)
  • Perlu pakar keselamatan menganalisis kelemahan konfigurasi
  • Strategi canary tersuai memerlukan semakan SRE

Senario Penggunaan

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

Latar Belakang Masalah

Pelajari cara melaksanakan pemeriksaan keselamatan, pintu kelulusan, dan pengembalian automatik dalam saluran paip CI/CD untuk mengelakkan penggunaan buruk menyebabkan masa henti.

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