2.2. 运行网络 Ansible Playbook
如果要每天运行特定命令,可以将其保存在 playbook 中,并使用 ansible-playbook 而不是 ansible 运行它。该 playbook 可以存储您在命令行中提供的许多参数,从而减少在命令行中键入的内容。您需要两个文件,即 playbook 和清单文件。
先决条件
从此处 下载 first_playbook.yml。
playbook 类似如下:
| 标签 | 描述 |
|---|---|
|
|
Ansible 的原生事实收集( |
playbook 从上面的命令行设置三个七个值:
-
组(
主机:all) -
连接方法(连接:ansible.netcommon.network_cli)和 - 模块(在每个任务中)。
使用 playbook 中设置的这些值,您可以在命令行中省略它们。该 playbook 还会添加第二项任务来显示配置输出。
当从系统中收集事实时,通过特定于集合的事实模块(如 vyos.vyos.vyos_facts 或 ansible.builtin.setup )收集到系统时,收集的数据会被保留在内存中,而不是写入到控制台。
当模块在 playbook 中运行时,输出会保留在内存中,供将来的任务使用,而不是写入控制台。在大多数其他模块中,您必须明确注册一个变量来存储和重复使用模块或任务的输出。
有关事实的更多信息,请参阅 Ansiible Playbook 参考指南 中的 [Ansible 事实]。
以下调试任务可让您在 shell 中看到结果。
流程
使用以下命令运行 playbook:
ansible-playbook -i vyos.example.net, -u ansible -k -e ansible_network_os=vyos.vyos.vyos first_playbook.yml
ansible-playbook -i vyos.example.net, -u ansible -k -e ansible_network_os=vyos.vyos.vyos first_playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow playbook 包含一个含有两个任务的 play,并生成如下输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 现在,您可以检索设备配置,您可以尝试使用 Ansible 更新它。
从此处 下载
first_playbook_ext.yml,这是第一个 playbook 的扩展版本:playbook 类似如下:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 扩展的第一个 playbook 在单个 play 中有五个任务。
使用以下命令运行 playbook:
ansible-playbook -i vyos.example.net, -u ansible -k -e ansible_network_os=vyos.vyos.vyos first_playbook_ext.yml
$ ansible-playbook -i vyos.example.net, -u ansible -k -e ansible_network_os=vyos.vyos.vyos first_playbook_ext.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出显示您对配置所做的更改:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow