综合练习
为 CodeRoadMap 设计多 AZ 部署方案。
40 分钟
综合练习
把 kubernetes-advanced-essentials 串起来:为 CodeRoadMap 设计一份 生产向多 AZ 部署方案——托管选型、工作负载拓扑、调度约束、资源配额、可观测与 GitOps 发布。不要求真开云账号,交付 可评审的设计文档 + 关键 YAML/Helm values 片段。
学习目标
- 独立完成从 k8a-intro 到 k8a-monitor 的交叉引用
- 产出多 AZ backend 部署方案,含 spread、PDB、HPA、监控
- 衔接 kubernetes-essentials、helm-gitops-essentials、observability-essentials、prometheus-essentials
任务:CodeRoadMap 多 AZ 部署方案
假设 tracks API(Spring Boot) 上托管 Kubernetes(自选 EKS/GKE/AKS 之一),至少 2 个可用区,staging + prod 两集群或两 namespace(二选一,文档说明取舍)。
1. 集群与发布(k8a-managed、k8a-multi)
- 一页「为何托管、为何不自建」(k8a-self-managed)
- GitOps 数据流:Git → Argo CD/Flux → Helm Release(gitops-intro)
- prod / staging 差异表(副本、资源、域名)
2. 工作负载与高可用(k8s-deployments、k8a-topology)
- backend Deployment:
replicas ≥ 3,topologySpreadConstraints 跨zone - PDB
minAvailable: 2,滚动更新maxUnavailable: 1 - Ingress + readiness/liveness 探针(k8s-ingress)