资源配置
provisioning;与 terraform 衔接。
25 分钟
资源配置
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,避免「只有一台服务器所以手工改」