我们都知道,ansible默认的主机清单文件为“/etc/ansible/host”,我们可以在默认的清单文件中为各个主机定义主机变量、为各个组定义变量,例如:
[redis_hosts]
10.18.9.52
10.18.9.53
10.18.9.54
[web_hosts]
10.25.9.55 ansible_host=node2 #主机组可用的变量
[web_hosts:vars] #web_hosts组可以调用的变量
IP=10.25.9.55 #主机组可用的变量
[all:vars] #all,代表这所有组都可以调用变量
testvar=node1 #全局可用的变量
除了这样还可以在/etc/ansible/group_vars,ansible会自动搜索group_vars;在里面定义变量(和hosts调用很相似),group_var需要自己创建,例如
里面定义变量的格式
cat /etc/ansible/group_vars/all
testvar: node1 #采用:,不是=
Mysql: 10.18.9.51:3306
cat /etc/ansible/group_vars/web_hosts
IP=10.25.9.55
全局变量指任何roles角色都可以调用