可以将主机变量分组到一个单独的文件中,然后在 playbook 中导入该文件。可以使用 YAML 或 INI 文件格式来定义变量。
示例:
新建一个变量文件 group_vars/all_vars.yml,其中包含需要被组织的主机变量:
---
var1: value1
var2: value2
然后,在 playbook 中使用 import_vars 模块来导入变量文件:
- name: Playbook with group vars
hosts: all
become: true
vars:
ansible_python_interpreter: /usr/bin/python3
tasks:
- import_vars: group_vars/all_vars.yml
- name: print variable
debug:
var: var1
其中,import_vars 模块导入了 all_vars.yml 文件中的所有变量,然后可以像使用其他变量一样使用它们。
可以将该方法用于不同的主机组,例如 group_vars/web_servers.yml 或 group_vars/database_servers.yml 等。
除此之外,还可以使用 ansible-vault 工具将敏感信息加密到变量文件中,以保证安全性。