Chuyển đến nội dung chính

第 22 課:基礎設施和 DevOps — Kubernetes、CI/CD 和多區域

Fashion POD 的生產基礎設施 — Kubernetes 叢集設計、CI/CD GitOps、多區域部署、機密管理、IaC 和成本最佳化。

🏗️ 建築 — 第 22 課 第 22 課:基礎設施與 DevOps — Kubernetes、CI/CD 和多區域

時裝設計與按需印刷系統架構-從領域分析到生產

第 7 部分:營運、安全性和規模

亞洲開發網

1.Kubernetes叢集設計

Cluster
  ├─ Node Pool: General apps (API, web)
  ├─ Node Pool: Workers (rendering, queues)
  ├─ Node Pool: GPU (AI inference)
  └─ Node Pool: Data plane add-ons
  • 域分隔的命名空間: `core`, `ai`, `ops`, `data`
  • 根據 CPU/RAM/佇列深度的 HPA
  • 關鍵服務的 PodDisruptionBudget

2. CI/CD + GitOps

Git push
  -> CI (test/lint/build/security scan)
  -> Build image + SBOM
  -> Push registry
  -> Update manifest repo
  -> ArgoCD sync to cluster
  -> Progressive rollout (canary)
// Example deployment strategy
strategy:
  type: RollingUpdate
  rollingUpdate:
    maxSurge: 25%
    maxUnavailable: 0

3. 秘密與 IaC

  • 秘密:保險庫/外部秘密操作員
  • IaC:用於網路、叢集、DB、CDN 的 Terraform 模組
  • 政策即代碼:OPA/Gatekeeper

4. 多區域部署

地區角色
美國原生流量+AI推理
歐盟數據駐留+低延遲歐盟
亞太地區區域店面 + 非同步工作人員
Routing: Geo DNS + health checks
Data: primary region + read replicas + async replication
Failover: RTO < 30 min, RPO < 5 min

5. 成本優化

  • 批次工作人員的 Spot 實例
  • 透過間歇性作業將規模縮小到零
  • 為穩定工作負載預留容量
  • 圖片優化+CDN分流減少出口

六、總結

  • 層次集群 有助於優化效能和成本

  • Git 操作 增加控制和回滾能力

  • 多區域 是全球擴張時的重要要求

  • 成本最佳化 需要從頭開始設計