实例学习ansible系列(14)playbook变量使用
2016-07-31 17:04
916 查看
ansible的playbook中的变量引用使用{{ }}。同时本文也会给出实例确认如何使用环境变量降低Hardcoding的耦合。Ansbile还内嵌了七个很有用的变量,使用得当也会带来很大的便利。
hostvars变量
groups变量
group_names变量
inventory_hostname变量
inventory_hostname_short
inventory_dir
inventory_file
事前确认
执行playbook
执行结果确认,message变量的内容被正确输出到文件中了。
输出环境变量中有的HOSTNAME到log中
执行playbook
确认结果的输出log
[root@host31 ~]# cat /tmp/hello.log
host31 Sun Jul 31 04:53:42 EDT 2016 by host31
[root@host31 ~]#
hostvars变量
groups变量
group_names变量
inventory_hostname变量
inventory_hostname_short
inventory_dir
inventory_file
Ansible中使用变量实例
在vars后设定变量message,并将此message内容输出到log中[root@host31 ~]# cat hello.playbook - hosts: host31 vars: - message: hello-world gather_facts: false tasks: - name: say hello task shell: echo {{message}} `date` by `hostname` >/tmp/hello.log [root@host31 ~]#
事前确认
[root@host31 ~]# ll /tmp/hello.log ls: cannot access /tmp/hello.log: No such file or directory [root@host31 ~]#
执行playbook
[root@host31 ~]# ansible-playbook hello.playbook PLAY [host31] ****************************************************************** TASK [say hello task] ********************************************************** changed: [host31] PLAY RECAP ********************************************************************* host31 : ok=1 changed=1 unreachable=0 failed=0 [root@host31 ~]#
执行结果确认,message变量的内容被正确输出到文件中了。
[root@host31 ~]# cat /tmp/hello.log hello-world Sun Jul 31 04:26:23 EDT 2016 by host31 [root@host31 ~]#
Ansible中使用环境变量
设定环境变量[root@host31 ~]# export MESSAGE="hello-world-ansible"
输出环境变量中有的HOSTNAME到log中
[root@host31 ~]# cat hello.playbook - hosts: host31 gather_facts: false tasks: - name: say hello task shell: echo ${HOSTNAME} `date` by `hostname` >/tmp/hello.log [root@host31 ~]
执行playbook
[root@host31 ~]# ansible-playbook hello.playbook PLAY [host31] ****************************************************************** TASK [say hello task] ********************************************************** changed: [host31] PLAY RECAP ********************************************************************* host31 : ok=1 changed=1 unreachable=0 failed=0 [root@host31 ~]#
确认结果的输出log
[root@host31 ~]# cat /tmp/hello.log
host31 Sun Jul 31 04:53:42 EDT 2016 by host31
[root@host31 ~]#
相关文章推荐
- 实例学习ansible系列(16)playbook中自定义环境变量的使用
- 实例学习ansible系列(15)playbook的条件和循环
- 实例学习ansible系列(13)第一个playbook
- 实例学习ansible系列(1)Helloworld
- 实例学习ansible系列(7)常用模块之ping/setup
- C++基础学习系列--1、1的简陋版本--输入输出流与字符串变量的使用
- 实例学习ansible系列(2)从Helloworld深度解析Ansible执行原理
- day_1_14 JavaWeb系列学习总结之BaseServlet和DBUtils的使用
- ansible学习系列2-ansible常用模块使用
- 实例学习ansible系列(4)常用模块之command/shell/raw
- 实例学习ansible系列(9)常用模块之yum/service
- linux命令学习系列14-mount,fstab的使用
- (LINQ 学习系列)(6)Linq教程实例: 使用自写类代码来访问数据
- 实例学习ansible系列(5)常用模块之copy
- 实例学习ansible系列(11)常用模块之get_url/cron/synchronize
- 实例学习ansible系列(12)常用模块之docker
- 3 ansible-playbook 条件语句-外部变量使用
- java分布式系统部署学习(八)ansible-playbook 简单使用
- .Net学习难点讨论系列17 - 线程本地变量的使用
- 实例学习ansible系列(10)常用模块之script