下面是一个关于Ansible迭代和匹配清单项与变量的代码示例:
假设我们有一个清单文件inventory.txt,其中包含了两个主机:host1和host2。我们还有一个变量文件vars.yml,其中包含了一个名为users的变量,它是一个列表,包含了两个用户:user1和user2。
inventory.txt:
[hosts]
host1
host2
vars.yml:
users:
- user1
- user2
现在我们想要在这两个主机上创建这两个用户。
playbook.yml:
---
- name: Create users
hosts: hosts
gather_facts: no
vars_files:
- vars.yml
tasks:
- name: Create users
user:
name: "{{ item }}"
state: present
loop: "{{ users }}"
在这个playbook中,我们使用了迭代循环和变量来动态地在每个主机上创建用户。
首先,我们使用vars_files
指令来加载变量文件vars.yml。
然后,我们使用loop
指令来迭代变量users中的每个元素。
在每次迭代中,我们使用user
模块来创建用户。name
参数使用了Ansible的模板语法,通过{{ item }}
来引用迭代的当前元素。
最后,我们将这个playbook运行在hosts组中的所有主机上。
通过运行以下命令来执行这个playbook:
ansible-playbook -i inventory.txt playbook.yml
这样就会在host1和host2上创建user1和user2两个用户。
上一篇:Ansible:迭代遍历清单组
下一篇:Ansible:迭代字典