大家好,我是程序员柏风,AI 最全的 Vibecoding 学习地图 http://coderoadmap.cn 作者。
平台搭建方法论
「如何搭建 X」是 DevOps 工程师最常遇到的问题:X 可以是 CI 平台、日志栈、K8s 集群或 CodeRoadMap 生产环境。本课给出可复用的 what-is-and-how-to-setup-x 框架——从需求澄清、架构草图、依赖清单到验收标准——衔接 /roadmaps/devops 的 design-and-implementation 思路,并综合运用 terraform-essentials、kubernetes-essentials、devops-cloud-essentials 与本 track 前几课的 CM/OS 知识。
学习目标
- 掌握 五阶段搭建法:Define → Design → Provision → Configure → Verify
- 能为任意平台组件写出 最小可行架构(MVA) 与 扩展路径
- 建立 CodeRoadMap 从「宝塔单机」到「多云 HA」的分阶段迁移 checklist
五阶段搭建法
1. Define — 谁用、SLA、合规、预算、技能栈
2. Design — 组件图、数据流、单点故障、密钥流向
3. Provision— IaC 创建云资源 / 裸机上架(Terraform)
4. Configure— CM 收敛 OS / Helm 安装平台组件 / GitOps
5. Verify — 冒烟测试、负载测试、备份恢复演练、Runbook
| 阶段 | 产出物 | 工具示例 |
|---|---|---|
| Define | 需求一页纸、非功能指标 | 架构评审、ADR |
| Design | 网络拓扑、命名规范 | draw.io、C4 |
| Provision | 可重复环境 | Terraform、Bicep |
| Configure | 期望状态清单 | Ansible、Helm、Argo CD |
| Verify | 验收用例、监控告警 | k6、Prometheus、On-call |
CodeRoadMap 平台搭建示例
# docs/platform-checklist.yaml — 概念清单
platform: coderoadmap-prod
phases:
define:
sla: "99.9% monthly"
users: "10k DAU"
compliance: "PII 国内存储"
design:
tiers:
- edge: "CDN + WAF"
- app: "K8s Deployment (platform + backend)"
- data: "Managed MySQL + Redis"
secrets: "Key Vault + ESO"
provision:
iac: "terraform apply -var-file=prod.tfvars"
configure:
cm: "baseline role: hardening + node_exporter"
gitops: "argocd app sync coderoadmap"
verify:
smoke:
- "GET /api/health returns 200"
- "登录流程 E2E < 3s P95"
backup: "mysql point-in-time restore drill quarterly"
# terraform 片段 — 环境与命名规范
locals {
prefix = "cr-${var.env}" # cr-prod, cr-staging
tags = {
project = "coderoadmap"
environment = var.env
managed_by = "terraform"
}
}
常见反模式
- 跳过 Define 直接装软件 → 后期返工扩容与合规
- Provision 与 Configure 混在一个脚本 → 不可测试、不可回滚
- 无 Verify 即上线 → 备份未测、告警未配、Runbook 缺失
- 平台过度设计 → 小流量先 MVA,再按指标扩容
与 dcp-proxy 的入口层、dcp-data 的数据设计紧密相关,应在一期 Design 文档中一并定稿。
练习
- 用五阶段法为 CodeRoadMap 写一页「staging 环境搭建」计划(含时间估算)
- 列出 MVA 与「完整 HA」之间省略的 5 个组件,并说明何时补齐
- 在 /roadmaps/devops 找到 design-and-implementation 相关节点,映射到五阶段各步
小结
平台搭建 = 结构化五阶段 + MVA 优先 + IaC/CM/GitOps 分工 + 可验证验收。 下一课深入 代理与负载均衡,完善入口与高可用层设计。