我在中创建了一个变量group_vars
组变量/全部
---
hostname: name1
Run Code Online (Sandbox Code Playgroud)
我想将 name2 设置为真实主机(10.20.30.40),所以我创建了一个文件并在那里再次设置主机名
主机变量/10.20.30.40
---
hostname: name2
Run Code Online (Sandbox Code Playgroud)
当我运行剧本时,它返回 name1 但不返回 name2:
角色/操作系统/任务/main.yml
- name: Print hostname
ansible.builtin.debug:
msg: "{{ hostname }}"
Run Code Online (Sandbox Code Playgroud)
结果:
TASK [server : Print hostname] *************************************
ok: [web_server] => {
"msg": "name1"
}
Run Code Online (Sandbox Code Playgroud)
我想在每个要更新的主机中设置变量,这不是正确的用法吗?
而且,如果我在文件夹下以这种方式命名主机文件host_vars,它可以工作吗?
web_server
库存:
[web_server]
10.20.30.40
Run Code Online (Sandbox Code Playgroud)
剧本:
---
- hosts: web_server
become: true
vars_files:
- group_vars/all
roles:
- os
Run Code Online (Sandbox Code Playgroud)
问:“当我运行 playbook 时,它返回 name1,但不返回 name2。 ”
shell> cat hosts
[web_server]
10.20.30.40
Run Code Online (Sandbox Code Playgroud)
shell> cat group_vars/all
---
hostname: name1
Run Code Online (Sandbox Code Playgroud)
shell> cat host_vars/10.20.30.40
---
hostname: name2
Run Code Online (Sandbox Code Playgroud)
shell> cat playbook.yml
---
- hosts: web_server
vars_files:
- group_vars/all
tasks:
- debug:
var: hostname
Run Code Online (Sandbox Code Playgroud)
答:不要将group_vars/all包含在剧本中。
playbook 的group_vars/all会自动以优先级 5 包含在 playbook 中。请参阅了解变量优先级。如果将group_vars/all放入vars_files (优先级 14)中,则会覆盖host_vars(优先级 10)。
例子。鉴于库存
shell> cat hosts
[web_server]
10.20.30.40
10.20.30.41
Run Code Online (Sandbox Code Playgroud)
剧本
shell> cat playbook.yml
---
- hosts: web_server
gather_facts: false
tasks:
- debug:
var: hostname
Run Code Online (Sandbox Code Playgroud)
按预期给出
shell> ansible-playbook -i hosts playbook.yml
PLAY [web_server] *********************************************************
TASK [debug] **************************************************************
ok: [10.20.30.40] =>
hostname: name2
ok: [10.20.30.41] =>
hostname: name1
Run Code Online (Sandbox Code Playgroud)
中的变量host_vars/10.20.30.40覆盖中的变量group_vars/all
| 归档时间: |
|
| 查看次数: |
7323 次 |
| 最近记录: |