平台搭建方法论
what-is-and-how-to-setup-x。
25 分钟
平台搭建方法论
「如何搭建 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"
}
}