变量名约束:
* 变量名称应为字母、数字、下划线
* 变量名始终以字母开头
* 变量名不能与python属性和方法名冲突
定义变量的方式如下
* 通过命令行传递变量(extra vars)
ansible-playbook test.yml -e "user=louis"
* 在inventory中定义变量(inventory vars)
1)主机变量
hosts.51yuki.cn http_port=80
2)定义组变量
[websers]
host01.51yuki.cn
host02.51yuki.cn
[websers:vars]
ntp_server=time1.aliyun.com
* 在playbook中定义变量(play vars)
- hosts: websers
vars:
http_port: 80
* 在文件包含中定义变量
- hosts: websers
vars_files:
- /vars/external_vars.yml
* 定义角色变量(roles)
roles:
- { role: app_user, name: alex }
* 内置变量
就是通过setup收集过来的,该变量不需要事前申明,直接使用即可,如
inventory_hostname
- 第一章:Ansible基础入门
- 第二章:Ansible系列手册
- 第一节:Ansible系列之主机清单
- 第二节:Ansible系列之变量
- 第三节:Ansible系列之YAML
- 第四节:Ansible系列之条件判断
- 第五节:Ansible系列之循环
- 第六节: Ansible系列之tags
- 第七节:Ansible系列之Jinja2
- 第三章:Ansible系列之模块
- 第一节:user模块
- 第二节:group模块
- 第三节:cron模块
- 第四节:copy模块
- 第五节: file模块
- 第六节:yum模块
- 第七节:service模块
- 第八节:shell模块
- 第九节:script模块
- 第十节:setup模块
- 第十一节:filesystem和mount模块
- 第十二节:synchronize模块
- 第十三节: get_url模块
- 第十四节: package模块
- 第十五节:stat模块
- 第十六节:unarchive模块
- 第十七节: commang模块
- 第四章:Ansible-playbook介绍
- 第五章:Ansible系统环境
- 第一节:Ansible Role 系统环境之epel设置