大家好,我是程序员柏风,AI 最全的 Vibecoding 学习地图 http://coderoadmap.cn 作者。
资源配置
Provisioning(资源配置) 是用代码或 API 创建、变更、销毁 云资源——VPC、虚拟机、数据库、K8s 集群、Secret 容器。本课对应路线图 provisioning,与 terraform-essentials 直接衔接:多云选型定下来后,用 同一套 IaC 纪律 落地。
学习目标
- 区分 provisioning 与 deployment(集群外 vs 集群内)
- 说清 Terraform 在 AWS/GCP/Azure/DO/Hetzner 上的同一工作流
- 避免「控制台漂移」与 Secret 进 state 明文
两层分工
Provisioning(本课 / Terraform)
→ VPC、Subnet、Security Group、RDS、EKS/GKE/AKS、IAM Role、Secret 容器
Deployment(Helm / GitOps / CI)
→ backend/platform Chart、Deployment、Ingress、HPA
terraform-essentials 的 tf-intro 已画分层;tf-vs-helm 说明二者 不互相替代。K8s 集群 本身 常由 Terraform 创建,内部应用 由 Helm 发布——见 kubernetes-essentials 与 kubernetes-advanced-essentials。
多云 Provisioning 纪律
| 实践 | 原因 |
|---|---|
Git 管 .tf,CI 跑 plan | 变更可 review,与 git-essentials 一致 |
| 环境分 tfvars | dev/staging/prod 同模块不同参数 |
| Remote state + lock | 多人协作不 corrupt state(tf-state) |
| 敏感值用 CI/Vault 注入 | 不进 commit、不进 plan 日志 |
| 模块复用 | VPC、EKS 等抽 Module(tf-modules) |
各云 Provider:tf-aws、Google/Azure/hcloud 文档结构类似——HCL 语法一次学,Provider 换名字。
与 dc-* 云课的关系
- 选 AWS → tf-aws + aws-essentials
- 选 GCP / Azure → 对应 Provider + dc-gcp / dc-azure
- 选 DO / Hetzner → 小团队仍值得 Terraform,避免「只有一台服务器所以手工改」
练习
- 写三条资源:VPC、RDS、EKS——标出哪些用 Terraform、哪些用 Helm
- 读 tf-plan,说明为何 merge 前必须看 plan
- 设计 CodeRoadMap staging:一个
staging.tfvars里应有哪些变量名(不写真实值)
小结
Provisioning 用 Terraform 声明集群外世界;Deployment 用 Helm/GitOps 管集群内。 下一课综合练习:写多云选型 ADR。