Senario
Sebuah platform e-dagang mengalami lonjakan trafik semasa promosi dan beban rendah pada masa lain. Penskalaan manual menyebabkan kependaman semasa puncak dan pembaziran sumber semasa lembah, dengan kos awan bulanan melebihi belanjawan sebanyak 40%.
Gejala
- Penggunaan CPU nod secara konsisten melebihi 85% atau di bawah 20%
- Pod kerap OOMKilled atau Pending
- Bil awan menunjukkan pertumbuhan luar biasa dalam kos instance EC2/EKS
Diagnosis
- Analisis metrik kluster: Gunakan
kubectl top nodesdankubectl top podsuntuk melihat penggunaan sumber. - Semak konfigurasi Horizontal Pod Autoscaler (HPA): Pastikan metrik dan ambang sesuai.
- Periksa log Cluster Autoscaler (CA):
kubectl logs -n kube-system deployment/cluster-autoscaler - Analisis kos: Gunakan tag kos pembekal awan (contohnya AWS Cost Explorer) dikumpulkan mengikut ruang nama atau label.
Arahan Utama
Dayakan HPA
kubectl autoscale deployment frontend --cpu-percent=70 --min=3 --max=20
Konfigurasikan Cluster Autoscaler
Edit ConfigMap:
kubectl edit configmap -n kube-system cluster-autoscaler-config
Tambah scale-down-utilization-threshold: 0.5 untuk menurunkan ambang pengecilan.
Contoh Pengoptimuman Kos
Gunakan instance Spot:
kubectl label nodes --all spot=yes
# Kemudian tentukan pemilih nod dalam deployment
Kawalan Risiko
- Tetapkan Pod Disruption Budget (PDB) untuk perkhidmatan kritikal:
yaml apiVersion: policy/v1 kind: PodDisruptionBudget metadata: name: web-pdb spec: maxUnavailable: 1 selector: matchLabels: app: web - Laksanakan pengecilan secara beransur: tetapkan
stabilizationWindowSecondsdalam HPA - Dayakan amaran kos: contohnya AWS Budgets memberitahu apabila perbelanjaan melebihi 80%
Pelan Rollback
- Kembalikan HPA:
kubectl delete hpa frontendkemudian cipta semula versi lama. - Matikan Cluster Autoscaler:
kubectl scale deployment/cluster-autoscaler --replicas=0 -n kube-system - Jika ada sandaran, guna semula manifest Deployment dan Service sebelumnya.
Pengesahan
- Gunakan
kubectl describe hpa frontenduntuk periksa metrik semasa dan replika yang dikehendaki. - Pantau bilangan nod:
kubectl get nodes. - Bandingkan laporan kos: perbelanjaan sebenar harus menurun tanpa pelanggaran SLO.
Bila untuk Menghantar Tiket OpsGlobal
- Penskalaan automatik menyebabkan isu kestabilan (contohnya pengusiran kerap, PDB menghalang pengecilan)
- Kos masih tidak normal atau tidak berkurang seperti yang dijangka
- Kluster besar (100+ nod) memerlukan pengoptimuman strategi
- Persekitaran multi-awan atau hibrid
Pasukan SRE OpsGlobal boleh bertindak balas dalam masa 15 minit, menawarkan strategi penskalaan automatik tersuai dan audit kos.
Senario Penggunaan
Sesuai untuk pasukan yang menyelesaikan isu Cloud Migration dan memerlukan aliran kerja yang jelas.
Latar Belakang Masalah
Pendalaman cara mengoptimumkan kapasiti awan dengan penskalaan automatik Kubernetes untuk mengurangkan kos, meliputi diagnosis dunia sebenar, arahan, kawalan risiko, dan prosedur 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.