创建剧本
剧本是自动化蓝图,采用 YAML
格式,Ansible 使用它们来部署和配置受管节点。
- 剧本
一系列定义 Ansible 从上到下执行操作顺序以实现总体目标的剧本。
- 剧本
一个有序的任务列表,映射到清单中的受管节点。
- 任务
对单个模块的引用,定义 Ansible 执行的操作。
- 模块
Ansible 在受管节点上运行的代码或二进制单元。Ansible 模块按集合分组,每个模块都有一个 完全限定的集合名称 (FQCN)。
完成以下步骤以创建一个剧本,用于 ping 您的主机并打印“Hello world”消息
在您之前创建的
ansible_quickstart
目录中创建一个名为playbook.yaml
的文件,内容如下- name: My first play hosts: myhosts tasks: - name: Ping my hosts ansible.builtin.ping: - name: Print message ansible.builtin.debug: msg: Hello world
运行您的剧本。
ansible-playbook -i inventory.ini playbook.yaml
Ansible 返回以下输出
PLAY [My first play] ****************************************************************************
TASK [Gathering Facts] **************************************************************************
ok: [192.0.2.50]
ok: [192.0.2.51]
ok: [192.0.2.52]
TASK [Ping my hosts] ****************************************************************************
ok: [192.0.2.50]
ok: [192.0.2.51]
ok: [192.0.2.52]
TASK [Print message] ****************************************************************************
ok: [192.0.2.50] => {
"msg": "Hello world"
}
ok: [192.0.2.51] => {
"msg": "Hello world"
}
ok: [192.0.2.52] => {
"msg": "Hello world"
}
PLAY RECAP **************************************************************************************
192.0.2.50: ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.0.2.51: ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.0.2.52: ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
在此输出中,您可以看到
您为剧本和每个任务指定的名称。您应始终使用描述性名称,以便于验证和调试剧本。
“收集事实”任务隐式运行。默认情况下,Ansible 会收集有关您的清单的信息,以便在剧本中使用。
每个任务的状态。每个任务的状态都为
ok
,表示它成功运行。剧本摘要,汇总了每个主机的剧本中所有任务的结果。在本例中,有三个任务,因此
ok=3
表示每个任务都成功运行。
恭喜,您已经开始使用 Ansible!
另请参阅
- Ansible 剧本
开始为现实世界场景构建剧本。
- 使用剧本
详细了解 Ansible 剧本。
- Ansible 技巧和窍门
获取使用剧本的技巧和窍门。
- 发现变量:事实和魔法变量
详细了解剧本中的
gather_facts
关键字。