我的设置:
网络中的每个物理服务器都安装了 consul-client,我使用以下方式管理这些服务器 consul_dynamic_inventory我已编辑脚本,以允许我使用基于操作系统主版本的特定分组选项(例如其他内容)。
例子:
(base) ➜ ansible git:(master) ✗ ansible centos6 -m ping -e ansible_ssh_user=root
Sunday 08 March 2020 16:55:10 +0200 (0:00:00.101) 0:00:00.102 **********
agent-c6-06.node.company.consul | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
agent-c6-01.node.company.consul | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
agent-c6-05.node.company.consul | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
上述示例是可能的,因为我配置了/etc/ansible/ansible.cfg
“inventory”指令来指向该 consul_dynamic_inventory 脚本,所以我不必在命令中明确添加“-i inventory_file”。
我的问题:
我想将“ansible_ssh_user=root”添加到默认值,这样每次运行 ansible 时就不必提供该开关。
通常,为了将其添加到所有主机,我会在清单文件中添加:
[all:vars]
ansible_ssh_user=root
但由于我的库存实际上是一个脚本,我不确定在哪里添加它,因为将它添加到脚本中显然会破坏它的运行。
我已尝试将其添加到文件的以下部分ansible.cfg
:
[defaults]
[inventory]
[ssh_connection]
但无济于事。
我的问题:
哪里是添加它的正确位置?
答案1
好的,找到了。
我尝试在文件的几个地方将其添加为“ansible_ssh_user”,ansible.cfg
但事实证明,在文件[defaults]
的部分下,它应该添加为:“remote_user” ansible.cfg
。