透過 30 天,分享如何用 K8S 部署一個異構微服務專案:Java(Spring Boot)處理身分驗證、Python(FastAPI + Delta Lake)處理晶圓大數據分析、Node.js 作為 API Gateway、React + ECharts 負責前端視覺化。內容涵蓋從本機 Docker Compose 到 K8S 的完整實作:容器化、Helm 部署管理、雲端叢集建置、GitHub Actions 串接 ArgoCD 的 GitOps 自動化流程,以及 Prometheus/Grafana 監控、Jaeger 追蹤、Trivy 安全掃描、Velero 災難復原與資源調優。
Day 21: 供應鏈安全:鏡像掃描 (Image Scanning) 與漏洞管理 在 Image 進入叢集前,先抓出潛在的安全漏洞。 1. 什麼是供應鏈安全...
Day 22: 監控體系 (一):Prometheus 與 Grafana 的架構與安裝 建立系統的靈魂之窗,觀測所有資源指標。 1. 為什麼微服務需要監控 單...
Day 23: 監控體系 (二):設計 Wafer BI 專屬的監控 Dashboard 將技術指標轉化為直觀的圖表,快速掌握健康度。 1. 核心觀測指標:RE...
Day 24: 分布式追蹤 (Distributed Tracing):使用 OpenTelemetry 洞察微服務間的流轉 深入學習 OTel 與 Jaege...
Day 25: 彈性伸縮:根據負載自動擴展 (HPA) 的實戰配置 讓叢集在高峰期自動增加副本,離峰期自動縮減省錢。 1. 靜態配置的問題 Deployment...
Day 26: 資料庫演進:在 K8S 上使用 Liquibase 管理 DB 遷移 自動化更新資料庫 Schema,告別手動執行 SQL 的風險。 1. 傳統...
Day 27: 災難恢復:K8S 叢集備份與數據復原策略 面對最壞的情況,我們如何快速重建整套 BI 平台。 1. 為什麼需要備份策略 K8S 的宣告式特性讓「...
Day 28: 效能調優:JVM 與 Python 容器的資源限制與優化 針對異構語言特性,調整 K8S 資源分配以達到最佳效能。 1. 資源宣告的重要性 K8...
Day 29: 實戰排除:當 Pod 頻繁重啟 (CrashLoopBackOff) 時該如何排查 一步一步走過真實的除錯流程,而不是背口訣。 1. Crash...
Day 30: 完賽感言:技術成長、架構反思與未來展望 回顧這 30 天做了什麼、學到什麼。 1. 這 30 天完成的事 盤點一下動手做過的事: 把一個異構技...