一个剧本 = 主机 + 任务
了解剧本如何将任务映射到主机组
一个剧本 = 主机 + 任务 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。
认识 Play
play 是 playbook 的核心。它将一组任务分配给一组主机,并在这些主机上运行。🎯
Play 的两个部分
每个 play 都要回答两个问题:针对哪些机器,以及要做什么。这正好对应 hosts 加上 tasks。
hosts 键
hosts 键用于选择目标。它可以指定一台主机、清单中的一个主机组,或特殊模式 all。
- name: Configure web servers
hosts: webtasks 列表
在 tasks 下,您可以按顺序列出要运行的操作。每个任务都是一个调用模块的条目。
tasks:
- name: Install nginx
ansible.builtin.package:
name: nginxPlay 是列表项
playbook 是由多个 play 组成的 YAML 列表。name 前面的短横线标志着每个 play 的开始位置。
- name: My first play
hosts: all
tasks: []一个 Play,多个主机
同一任务列表会在组中的每台主机上运行。Ansible 会将任务分发出去,让十台服务器获得完全相同的配置。
每个任务都会调用一个模块
任务本质上只是带参数的模块调用。模块负责执行实际工作,例如安装软件包或复制文件。
整合起来
上面是主机,下面是任务:这一整个代码块就是一个完整且可运行的 play。🧩
- name: Web setup
hosts: web
tasks:
- name: Ensure nginx is present
ansible.builtin.package:
name: nginxPlay 级别的设置
与 hosts 同级的键会应用于整个 play。例如,become 会告诉其中的每个任务以提升后的权限运行。
- hosts: web
become: true
tasks: []为什么这种映射很重要
将主机与任务分开后,只需更改 hosts 行,就能在不同的服务器群组上重复使用相同的操作。
Play 可以层层排列
一个文件可以包含多个 play。Ansible 会从上到下运行它们,因此您可以先针对 web,再针对 db。
快速检查
让我们确认一下核心映射是否清楚。
回顾
Play 就是主机加任务:选择机器,列出操作。在一个文件中排列多个 play,就能自动化管理整个服务器群组。✅
常见问题解答
「一个剧本 = 主机 + 任务」课时是免费的吗?
是的 — 「一个剧本 = 主机 + 任务」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。
「一个剧本 = 主机 + 任务」这节课中我会学到什么?
了解剧本如何将任务映射到主机组 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 DevOps Bootcamp 需要有经验吗?
无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「一个剧本 = 主机 + 任务」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 DevOps Bootcamp 课中编写并运行代码吗?
能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 一个剧本 = 主机 + 任务
- 为任务命名以获得清晰输出
- 一个剧本中的多个剧
- 任务顺序与自上而下执行