DevOps Bootcamp · 课时

设计项目:Role 与 Inventory

规划完整的部署代码仓库

第 1 / 4 课13 个步骤

设计项目: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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 设计项目:Role 与 Inventory
  2. 配置、加固并引导主机
  3. 负载均衡器后的滚动部署
  4. 冒烟测试、回滚与通知
← 返回 DevOps Bootcamp