ansible变量
变量定义
1. setup所有变量都可直接调用
2. /etc/ansible/hosts中优先级
普通变量: 主机组中单独定义,优先级高于公共变量
公共变量: 针对主机组中所有主机定义统一变量
#测试
[node:vars] #定义变量
test=node_test
[root@master ~]# ansible node1 -m shell -a 'echo {
{test}}'
192.168.1.21 | CHANGED | rc=0 >>
node_test #调用成功
3. 通过命令行指定变量,优先级最高
ansible-playbook -e "pkg1=httpd " test.yml
4. 定义变量文件,在playbook中引用
#在文件中定义变量
[root@master ~]# cat vars.yml
var1: httpd
var2: nfs-utils
#playbook中引用
- hosts: node1
vars_files: #引用变量文件
- vars.yml #引用变量文件名
tasks:
- name: 使用变量装包
yum: name={
{
var1}},{
{
var2