我正在寻找一种构建库存以共享同一变量的正确方法。
这是我的库存
{
"groupA": {
"hosts": [
"192.168.1.1"
]
},
"groupB": {
"hosts": [
"192.168.1.2"
]
},
"vars": {
"ansible_ssh_user": "admin",
"ansible_ssh_private_key_file": "/admin.pem",
"ansible_become": "yes",
"ansible_become_method": "sudo"
}
}
我希望 groupA 和 groupB 使用声明的同一变量。
此外,如何在剧本中指定同时运行 groupA 和 groupB 。以下似乎无效
hosts: groupA, groupB
[更新]以下是从Konstantin Suvorov获得支持后的正确构造。
{
"groupA": {
"hosts": [
"192.168.1.1"
]
},
"groupB":{
"hosts":[
"192.168.1.2"
]
},
"root":{
"children":[
"groupA",
"groupB"
],
"vars": {
"ansible_ssh_user": "admin"
}
}
}
答案 0 :(得分:0)
将您的var分为两个组的父级虚拟组:
"root": {
"children": ["groupA", "groupB"],
"vars": {
"ansible_ssh_user": "admin"
}
},
正确的格式是hosts: groupA:groupB
或hosts: group[AB]