一./etc/ansible/hosts
[webServers]
192.168.2.100 http_port=
192.168.2.200 http_port=8009 [web]
web1
web2 [db]
db1
db2 [app:children]
web
db
二./etc/ansible/hosts
[webServers]
192.168.2.100
192.168.2.200
[webServers:vars]
name=nginx
三.playbook中定义
- hosts: test
remote_user: root
vars:
- path: /usr/local/nginx/sbin/nginx
- var2: value2
四.命令行指定
[root@L ansible]# ansible-playbook -e 'http_port=80 name=nginx' test.yaml
五.独立文件
[root@L ansible]# vim vars.yaml
var1: httpd
var2: vsftpd
---
- hosts: test
remote_user: root
vars_files:
vars.yaml tasks:
- name: install httpd
yum : name={{ var1 }}
六.嵌套子变量
---
- hosts: test
remote_user: root tasks:
- name: create user
user: name={{ item.name }} group={{ item.group }}
with_items:
- { name: 'user1' , group: 'group1}
- { name: 'user1' , group: 'group1}