1.6. 创建第一个 playbook
使用以下步骤创建 ping 您的主机并打印"Hello world"消息的 playbook。
流程
在
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使用以下命令运行您的 playbook:
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
在这个输出中您可以看到:
- 您提供 play 和每个任务的名称。始终使用描述性名称,以便更轻松地验证 playbook 并进行故障排除。
- Gather Facts 任务隐式运行。默认情况下,Ansible 会收集有关可在 playbook 中使用的清单的信息。
-
每个任务的状态。每个任务的状态为
ok,这表示它成功运行。 -
该 play 总结了每个主机中 playbook 中所有任务的结果。在本例中,有三个任务,因此
ok=3表示每个任务都成功运行。