ansible - 在 ansible 清单中共享相同的主机变量
问题描述
我正在寻找一种正确的方法来构建库存以共享相同的 var。
这是我的库存
{
"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都使用声明的相同 var。
此外,如何在剧本中指定同时运行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"
}
}
}
解决方案
将您的 vars 放入某个虚拟组中,该组是两个组的父组:
"root": {
"children": ["groupA", "groupB"],
"vars": {
"ansible_ssh_user": "admin"
}
},
正确的模式是hosts: groupA:groupB
或hosts: group[AB]
推荐阅读
- ckeditor5 - 如何将“target”属性添加到ckeditor5中的`a`标签?
- r - 在R中导入excel文件时日期更改
- php - 使用 create_function php 读取外部变量
- oracle - 重命名索引影响
- python - Python:根据某些列过滤 numpy 值
- angular - ng2-carouselamos 左右图标不起作用
- javascript - 让模态框占据整个屏幕,而不仅仅是它所在的 iframe
- tsql - t-sql 将重复的十进制值表示为百分比
- javascript - rollupPluginBabelHelpers。引导错误
- r - R会话使用大量内存但工作区中没有大对象