在Ansible中,可以使用循环嵌套来处理复杂的任务。下面是一个示例,演示了如何使用Ansible嵌套循环。
假设我们有一个名为"hosts"的主机清单文件,其中包含两个主机:host1和host2。我们想要在这两个主机上创建两个用户:user1和user2。
首先,我们需要在Ansible的主配置文件中定义主机清单文件:
# ansible.cfg
[defaults]
inventory = hosts
然后,创建一个Ansible playbook文件,例如"create_users.yml":
# create_users.yml
---
- name: Create users
hosts: all
gather_facts: false
become: true
vars:
users:
- name: user1
password: $6$i5u3IWE0$bY0niUjyT7n0RQrwJ3DDzQnlzKc6pJv/4Q3CVhH0jdx9QwT2LgTQ8pHc9Y8P/2ug7T4PKEr6YK2.9V2m0ePR..
- name: user2
password: $6$i5u3IWE0$bY0niUjyT7n0RQrwJ3DDzQnlzKc6pJv/4Q3CVhH0jdx9QwT2LgTQ8pHc9Y8P/2ug7T4PKEr6YK2.9V2m0ePR..
tasks:
- name: Create users
ansible.builtin.user:
name: "{{ item.name }}"
password: "{{ item.password }}"
loop: "{{ users }}"
loop_control:
label: "{{ item.name }}"
register: result
- name: Display result
ansible.builtin.debug:
var: result
在这个示例中,我们使用了一个名为"users"的变量,其中包含两个用户的名称和密码。我们使用"ansible.builtin.user"模块来创建这些用户,并使用循环迭代"users"变量中的每个用户。
最后,我们使用"ansible.builtin.debug"模块来显示结果。
要运行这个playbook,可以使用以下命令:
ansible-playbook create_users.yml
运行完毕后,你将在终端上看到创建用户的结果。
这就是一个简单的Ansible嵌套循环的示例。你可以根据自己的需求修改和扩展这个示例。
上一篇:Ansible嵌套条件
下一篇:Ansible嵌套循环动态键查找