Ansible:如何在playbook中声明全局变量?
如何在Ansible playbook中声明全局变量。我在谷歌搜索了一下,找到了下面的解决方案,但它并没有按预期工作Ansible:如何在playbook中声明全局变量?,ansible,ansible-inventory,Ansible,Ansible Inventory,如何在Ansible playbook中声明全局变量。我在谷歌搜索了一下,找到了下面的解决方案,但它并没有按预期工作 - hosts: all vars: prod-servers: - x.x.x.x - x.x.x.x - hosts: "{{prod-servers}}" tasks: - name: ping action: ping 当我尝试上面的代码时,它说变量prod servers未定义。您无法定义一个在剧本级别(全局变量)上
- hosts: all
vars:
prod-servers:
- x.x.x.x
- x.x.x.x
- hosts: "{{prod-servers}}"
tasks:
- name: ping
action: ping
当我尝试上面的代码时,它说变量
prod servers
未定义。您无法定义一个在剧本级别(全局变量)上可从剧本中访问的变量
Ansible有3个主要范围:
- 全局:这是由配置、环境变量和命令行设置的
- 播放:每个播放和包含的结构、vars条目(vars;vars_文件;vars_提示符)、角色默认值和vars
- 主机:与主机直接关联的变量,如清单,包括变量、事实或已注册的任务输出
要定义可在
主机
声明中使用的变量,请执行以下操作:
- 使用
选项运行--extra vars
,并传递参数中的值李>ansible playbook
- 定义并针对该库存运行后续播放