我需要设置很少的主机特定变量。到目前为止,我将它们添加到hosts文件中,但变量列表变得非常漫长。
我想做的是告诉ansible加载一个包含所有必要变量的主机特定文件。假设我的主持人是:
[webservers]
hydrogen
helium
lithium
他们的变量结构如下:
.
├── variables
│ ├── hydrogen.yml
│ ├── helium.yml
│ └── lithium.yml
└── blahblah
如何自动为每个主机加载这些变量?
答案 0 :(得分:8)
Ansible有集团和主机变量的概念。无需手动告诉它从文件加载变量,它都是内置的。只需在文件夹group_vars
和/或host_vars
中创建相对于您的剧本(或库存文件)的文件:
.
├── group_vars
│ └── webservers.yml
├── host_vars
│ ├── hydrogen.yml
│ ├── helium.yml
│ └── lithium.yml
└── playbook.yml