Ansible - 在一个角色中使用相同的模板创建多个配置文件
Ansible - Create multiple config files using the same template in a role
我发现了一个类似的问题:
但我不知道如何将它与 group_vars 目录结构一起使用。
我的问题
如何使用其中包含模板的角色来创建具有不同名称和值的多个配置文件?我还使用 group_vars 目录,该目录与我 运行 的剧本存在于同一级别,主机为 运行s.
这是我当前的示例剧本
---
- hosts: emea-stg-web
vars_files:
- group_vars/ssh_user.yml
remote_user: "{{ ssh_user }}"
become_user: root
roles:
- nginx-install
- php5.6-install
如何让角色中的每个“项目”使用不同的变量值。例如变量“name”在迭代时可以有 [“test 1”、“test 2”、“test 3”]?然后我可以将这些值存储在文件中吗?
---
- hosts: emea-stg-web
vars_files:
- group_vars/ssh_user.yml
remote_user: "{{ ssh_user }}"
become_user: root
roles:
- nginx-install
with_items:
- test1
- test2
- test3
- php5.6-install
查看带有 vars_from
参数的 include_role
module:
tasks:
- include_role:
role: nginx-install
vars_from: "{{ item }}"
with_items:
- vars_file1
- vars_file2
并且不要使用 group_vars
目录来存储任意 vars 文件,它旨在为主机组存储 vars 文件。
我发现了一个类似的问题:
我的问题
如何使用其中包含模板的角色来创建具有不同名称和值的多个配置文件?我还使用 group_vars 目录,该目录与我 运行 的剧本存在于同一级别,主机为 运行s.
这是我当前的示例剧本
---
- hosts: emea-stg-web
vars_files:
- group_vars/ssh_user.yml
remote_user: "{{ ssh_user }}"
become_user: root
roles:
- nginx-install
- php5.6-install
如何让角色中的每个“项目”使用不同的变量值。例如变量“name”在迭代时可以有 [“test 1”、“test 2”、“test 3”]?然后我可以将这些值存储在文件中吗?
---
- hosts: emea-stg-web
vars_files:
- group_vars/ssh_user.yml
remote_user: "{{ ssh_user }}"
become_user: root
roles:
- nginx-install
with_items:
- test1
- test2
- test3
- php5.6-install
查看带有 vars_from
参数的 include_role
module:
tasks:
- include_role:
role: nginx-install
vars_from: "{{ item }}"
with_items:
- vars_file1
- vars_file2
并且不要使用 group_vars
目录来存储任意 vars 文件,它旨在为主机组存储 vars 文件。