一、目标
几种剧本中使用变量的方式
二、实例
1.在剧本中定义参数,且在剧本中使用参数
# 给目标主机组zabbix_agent执行操作
- hosts: zabbix_agent
# 剧本以root身份执行
user: root
# 在剧本中定义参数,变量叫xuser,值是user1
vars:
- xuser: "user1"
tasks:
- name: create user to system by kahn
# user模块、present是添加,absent是删除{
{ xuser }}调用上面定义的参数
user: name={
{ xuser }} state=present
2.在ansible主机组中给每个主机定义参数
2-1.编辑/etc/ansible/hosts,在每个主机后面定义上相应的参数,如:
[zabbix_agent]
10.100.100.30 xuser="userA"
10.100.100.40 xuser="userB"
2-2.写剧本调用参数
# 给目标主机组zabbix_agent执行操作
- hosts: zabbix_agent
# 剧本以root身份执行
user: root
tasks:
- name: create user to system by kahn
# user模块、present是添加,absent是删除{
{ xuser }}调用别的地方定义的参数
user: name={
{ xuser }} state=present
2-3.执行脚本,看效果
3.在ansible主机组中创建组级别的变量
3-1.编辑/etc/ansible/hosts,为主机组[zabbix_agent]创建组级别的变量,在配置中新增一行[zabbix_agent:vars],然后在它下面写上变量kv。如下图
格式:
[主机组名:vars]
变量key="变量值value"
3-2.剧本同上不变
3-3.执行剧本看效果