自动加载ansible的主机特定变量

时间:2015-09-08 17:46:43

标签: ansible ansible-playbook

我需要设置很少的主机特定变量。到目前为止,我将它们添加到hosts文件中,但变量列表变得非常漫长。

我想做的是告诉ansible加载一个包含所有必要变量的主机特定文件。假设我的主持人是:

[webservers]
hydrogen
helium
lithium

他们的变量结构如下:

.
├── variables
│   ├── hydrogen.yml
│   ├── helium.yml
│   └── lithium.yml
└── blahblah

如何自动为每个主机加载这些变量?

1 个答案:

答案 0 :(得分:8)

Ansible有集团和主机变量的概念。无需手动告诉它从文件加载变量,它都是内置的。只需在文件夹group_vars和/或host_vars中创建相对于您的剧本(或库存文件)的文件:

.
├── group_vars
│   └── webservers.yml
├── host_vars
│   ├── hydrogen.yml
│   ├── helium.yml
│   └── lithium.yml
└── playbook.yml

另见Best Practices: Group And Host Variables