基础设施即代码基础
了解基础设施即代码:使用版本控制的文件定义服务器、网络和服务,而不是通过控制台点击配置,并掌握让其可靠运行的原则
基础设施即代码基础 是 CoddyKit 上的免费 Docker & DevOps Fundamentals 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Docker & DevOps Fundamentals 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Docker & DevOps Fundamentals 课程共包含 4 节课。
什么是基础设施即代码?
基础设施即代码(IaC)是指:用可由机器读取、可进行版本控制并能自动应用的文件描述基础设施——服务器、网络、负载均衡器等——而不是手动设置。
它解决的问题
手动、依赖点击操作的设置会导致配置漂移:环境逐渐产生差异,却没有人记得原因。IaC 让基础设施具备可复现、可审查和可恢复的特性。
- 开发、预发布和生产环境保持一致
- 快速灾难恢复
- 可审计的变更历史
声明式与命令式
声明式工具描述所需的最终状态,并自行确定实施步骤(Terraform)。命令式工具则按顺序运行明确的命令(例如 shell 脚本)。大多数现代 IaC 都采用声明式方式。
声明式示例
这里的声明式文件只需说明应当存在一台虚拟机。工具会自行决定是创建、更新,还是在状态已经匹配时保持不变。
resource "server" "web" {
name = "web-01"
cpu = 2
image = "ubuntu-22.04"
}幂等性
IaC 的核心原则之一:重复应用同一个定义,会得到相同的结果。第一次运行会创建资源;如果状态已经匹配,后续运行不会进行任何更改。
版本控制
IaC 文件和应用代码一样存放在 Git 中。您可以查看差异、进行代码审查、追溯变更,并通过还原提交来回滚基础设施。
git add main.tf
git commit -m "Add web server definition"先规划再应用
优秀的 IaC 工具会在应用之前显示计划——也就是将要发生哪些更改的预览。这样可以在意外删除发生之前及时发现问题。
terraform plan状态管理
声明式工具会维护一个状态文件,将您的定义映射到实际资源。该文件必须安全存储(通常存储在远程位置),绝不能手动编辑。
不可变基础设施
不可变方法不会修补正在运行的服务器,而是替换它们:构建新镜像,部署新实例,然后停用旧实例。这样意外情况更少,也更容易回滚。
配置管理
IaC 负责提供机器;配置管理工具(Ansible、Chef、Puppet)负责在机器上安装和配置软件。两者结合后,就能自动化完整的技术栈。
ansible-playbook -i inventory site.ymlDevOps 流水线中的 IaC
IaC 可以接入 CI/CD:一次合并可以触发 plan 供审查,然后在批准后执行 apply。基础设施变更会像代码变更一样通过相同的审核关卡。
快速检查
幂等性为什么对 IaC 很重要?
回顾
现在,您已经理解了 IaC 的基础:
- 基础设施通过版本控制文件描述,而不是依赖手动点击
- 声明式定义与幂等应用
- 先规划再应用,并安全地管理状态
- 不可变基础设施和配置管理补全了整个方案
IaC 让 DevOps 自动化变得可靠且可重复。
常见问题解答
「基础设施即代码基础」课时是免费的吗?
是的 — 「基础设施即代码基础」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Docker & DevOps Fundamentals 课程的其余内容,请升级到 CoddyKit PRO。 Docker & DevOps Fundamentals 课程共包含 4 节课。
「基础设施即代码基础」这节课中我会学到什么?
了解基础设施即代码:使用版本控制的文件定义服务器、网络和服务,而不是通过控制台点击配置,并掌握让其可靠运行的原则 你通过在浏览器中直接运行的动手代码来练习 Docker & DevOps Fundamentals,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Docker & DevOps Fundamentals 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Docker & DevOps Fundamentals 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「基础设施即代码基础」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Docker & DevOps Fundamentals 课中编写并运行代码吗?
能。每节 Docker & DevOps Fundamentals 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- DevOps 思维方式
- 连续集成详解
- 连续交付与连续部署
- 基础设施即代码基础