在 ansible 清单中共享相同的主机变量
Sharing the same host var in ansible inventory
我正在寻找构建清单以共享相同变量的正确方法。
这是我的库存
{
"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
[UPDATE] 下面是得到 Konstantin Suvorov 支持后的正确构造。
{
"groupA": {
"hosts": [
"192.168.1.1"
]
},
"groupB":{
"hosts":[
"192.168.1.2"
]
},
"root":{
"children":[
"groupA",
"groupB"
],
"vars": {
"ansible_ssh_user": "admin"
}
}
}
将您的变量放入某个虚拟组中,该虚拟组是两个组的父组:
"root": {
"children": ["groupA", "groupB"],
"vars": {
"ansible_ssh_user": "admin"
}
},
正确的模式是 hosts: groupA:groupB
或 hosts: group[AB]
我正在寻找构建清单以共享相同变量的正确方法。
这是我的库存
{
"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
[UPDATE] 下面是得到 Konstantin Suvorov 支持后的正确构造。
{
"groupA": {
"hosts": [
"192.168.1.1"
]
},
"groupB":{
"hosts":[
"192.168.1.2"
]
},
"root":{
"children":[
"groupA",
"groupB"
],
"vars": {
"ansible_ssh_user": "admin"
}
}
}
将您的变量放入某个虚拟组中,该虚拟组是两个组的父组:
"root": {
"children": ["groupA", "groupB"],
"vars": {
"ansible_ssh_user": "admin"
}
},
正确的模式是 hosts: groupA:groupB
或 hosts: group[AB]