设计项目:Role 与 Inventory
规划完整的部署代码仓库
设计项目:Role 与 Inventory 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。
项目总结目标
现在要交付一个真正的多层应用,实现滚动部署和零停机。第一步:设计项目布局。🚀
用角色思考
将系统拆分为多个角色:分别负责 common、web、app、db 和 loadbalancer 等关注点。每个角色都可以独立复用和测试。
顶层布局
整洁的代码仓库会在根目录保存清单、group_vars、roles 和 site.yml 入口剧本,让任何人都能快速找到所需内容。
deploy/
site.yml
inventory/
group_vars/
host_vars/
roles/site.yml 将它们连接起来
主剧本 site.yml 会按顺序导入各层的 play。它是部署整个技术栈的单个命令。
- import_playbook: plays/loadbalancer.yml
- import_playbook: plays/db.yml
- import_playbook: plays/app.yml
- import_playbook: plays/web.yml将各层映射到组
您的清单为每一层定义一个组:lb、db、app 和 web。每个 play 只针对它负责的主机。
[lb]
lb1
[web]
web1
web2
[app]
app1
app2
[db]
db1每层使用 group_vars
将各层设置存储在 group_vars 中:Web 端口、应用版本和数据库凭据。主机会自动继承这些设置,无需复制粘贴。
group_vars/web.yml:
nginx_port: 80
upstream: app:8080使用 host_vars 配置特殊主机
当某台主机有所不同时,将覆盖设置放入 host_vars。例如,主数据库可能包含其他主机没有的复制设置。
host_vars/db1.yml:
postgresql_role: primary固定应用版本
将发布版本设为一个变量,而不是硬编码的字符串。只需在一个位置修改,就能在几秒内升级或回滚。
group_vars/all.yml:
app_version: "2.4.1"分离环境
为每个环境保留独立的清单目录,确保预发布环境和生产环境不会共享主机。角色相同,目标不同。
inventory/
staging/hosts
production/hosts锁定依赖项
在 requirements.yml 中列出外部 Galaxy 角色,确保每位队友和每次 CI 运行安装完全相同的自动化代码。
roles:
- name: geerlingguy.nginx
version: 3.1.4优先设计架构会带来回报
经过深思熟虑的布局可以将令人担忧的部署变成几个可预测的命令。现在做好结构设计,之后就能少忙于救火。🧱
快速检查
让我们正确放置一项配置。
回顾
您已经设计好了代码仓库:每层一个角色、清单组、group_vars 和 host_vars,以及一个负责运行完整部署的 site.yml。✅
用 AI 导师学习 DevOps Bootcamp — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 142
- 课程
- 568
常见问题解答
「设计项目:Role 与 Inventory」课时是免费的吗?
是的 — 「设计项目:Role 与 Inventory」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。
「设计项目:Role 与 Inventory」这节课中我会学到什么?
规划完整的部署代码仓库 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 DevOps Bootcamp 需要有经验吗?
无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「设计项目:Role 与 Inventory」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 DevOps Bootcamp 课中编写并运行代码吗?
能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 设计项目:Role 与 Inventory
- 配置、加固并引导主机
- 负载均衡器后的滚动部署
- 冒烟测试、回滚与通知