ansibleplaybook传递参数1.playbook命令格式
- hosts: web #web组所有机器
remote_ur: root #远程⽤户,默认是root⽤户
tasks: # 要执⾏的任务组
- name: createur # 任务名
ur: name=ur1 state=prent # 相当于 ansible -m ur -a 'name=ur1 state=prent'
- name: creategroup # 任务名
group: name=group1 # 相当于 ansible -m group -i 'name=group1'
需要注意格式:
每⼀个"-“和”:"后⾯都有⼀个空格
2.playbook传参
传参⽅式1: -e
yaml⽂件l:
- hosts: web
remote_ur: root
tasks:
- name: createur
ur: name={{ ur }} state=abnt
执⾏命令:
ansible-playbook -e ur=l # 将ur1传递给⽂件中的ur后执⾏命令
传参⽅式2:hosts⽂件⾥⾯主机后⾯写
1,打开ansible hosts⽂件:
通菜
vim /etc/ansible/hosts
耐心 英语2, 修改如下配置然后保存退出
[web]#web组
192.168.12.91 ur=ur1
192.168.12.92 ur=ur2
192.168.12.93 ur=ur3
[db]#db组
192.168.12.93
我的hosts⽂件图例说明:
3,执⾏playbook⽂件
⽂件l内容:
襁褓的读音
- hosts: web
amendsremote_ur: root
ddy世界大学排名2013tasks:
- name: createur
ur: name={{ ur }}#这⾥的ur对应hosts⽂件中ur变量执⾏⽂件:
l
传参⽅式3:hosts⽂件⾥⾯写[groupname:vars]
1,打开ansible hosts⽂件
vim /etc/ansible/hosts
2,修改ansible hosts⽂件
[web]
192.168.12.91
192.168.12.92
192.168.12.93
[db]
192.168.12.93
[web:vars]#web组所有主机指定同⼀个ur变量ur3
ur=ur3
我的hosts⽂件图例:
出国留学文书
3,执⾏playbook⽂件
- hosts: web
remote_ur: root
district简写
tasks:
- name: createur
ur: name={{ ur }}#这⾥的ur对应hosts⽂件中ur变量执⾏:
l
传参⽅式4:playbook⽂件中vars来指定
dedication
1,打开pbook⽂件:
l
添加如下两⾏:
添加后⽂件内容:
- hosts: web
remote_ur: root
tasks:
- name: createur
ur: name={{ ur }}
vars:
- ur: ur5
2,执⾏⽂件:
l
传参⽅式5:通过register注册,使⽤的时候要使⽤参数的.stdout值1,打开l⽂件:
l
2,修改⽂件图例:
修改后的⽂件如下:
- hosts: web
remote_ur: root
tasks:
- name: sum
shell: echo ur10
register: ur
天涯侠医主题曲- name: createur
ur: name={{ ur.stdout }}
3,保存退出,执⾏l⽂件
l