我已经在环境/分期创建两个文件夹group_vars可变因素/ group_vars即Ansible在不拾取从
所有/ main.yml
服务/ main.yml
当我执行我的剧本如下
ansible-playbook -i environments/staging myplaybook.yml
group_vars/all/main.yml下定义的变量正在被myplaybook拾取,但它并没有提供服务变量。
任何指针?
我已经在环境/分期创建两个文件夹group_vars可变因素/ group_vars即Ansible在不拾取从
所有/ main.yml
服务/ main.yml
当我执行我的剧本如下
ansible-playbook -i environments/staging myplaybook.yml
group_vars/all/main.yml下定义的变量正在被myplaybook拾取,但它并没有提供服务变量。
任何指针?
如果你想单独全局访问的变量不同的文件(可读性,也许),可将它们存储里面group_vars /所有目录下不同的名字,例如: group_vars/ all/ services.yml something_else.yml
这是更符合我的要求的东西...谢谢... – Shashi
正如您在评论中所说的,您的库存中没有定义组services
。
group_vars
文件夹中的每个子文件夹对应于组名,一个用于特殊组all
。
所以对库存文件:
[group1]
host1
[group2]
host2
group_vars
可能看起来像:
./group_vars/all/common.yml
./group_vars/group1/gr1_specific.yml
./group_vars/group2/gr2_specific.yml
所以host1
将有来自瓦尔和common.yml
gr1_specific.yml
,host2
- common.yml
和gr2_specific.yml
。
你介意发布你的库存吗? –
请澄清一下'services/main.yml'的用法,你是否有一个“services”组,这个文件需要使用vars或者你希望任何一组主机访问它?如果以后,这是不可能的,你应该使用'group_vars/all'来放置全局可访问的变量。 – Andrew
@Andrew services/main.yml类似于db/main.yml,webserver/main.yml ...我只是想从group_vars/all/main.yml中分离出一些配置... – Shashi