變量名約束:
* 變量名稱應為字母、數字、下劃線
* 變量名始終以字母開頭
* 變量名不能與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設置