ansible变量定义

时间:2022-11-06 18:19:32

一./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}