Ansible - 使用角色中的相同模板创建多个配置文件

cam*_*xon 0 ansible devops ansible-role

我发现了一个类似的问题:创建多次相同的角色,但使用不同的项目, 但我不知道如何使用group_vars目录结构.

我的问题

如何使用带有模板的角色来创建具有不同名称和值的多个配置文件?我也使用group_vars目录,该目录与我运行的主机运行的playbook位于同一级别.

这是我目前的样本剧本

---
- hosts: emea-stg-web
  vars_files:
    - group_vars/ssh_user.yml
  remote_user: "{{ ssh_user }}"
  become_user: root

  roles:
    - nginx-install
    - php5.6-install
Run Code Online (Sandbox Code Playgroud)

如何让角色中的每个"项目"使用不同的变量值.例如变量"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
Run Code Online (Sandbox Code Playgroud)

tec*_*raf 6

用参数看看include_role模块vars_from:

tasks:
  - include_role:
      role: nginx-install
      vars_from: "{{ item }}"
    with_items:
      - vars_file1
      - vars_file2
Run Code Online (Sandbox Code Playgroud)

并且不要使用group_vars目录存储任意vars文件,它旨在存储主机组的vars文件.