码迷,mamicode.com
首页 > 其他好文 > 详细

Ansible_变量定义与引用

时间:2017-12-11 15:05:11      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:ansible   variable   

Ansible_变量定义与引用

inventory定义主机及主机组(自定义变量)

$?cat?hosts
localhost?ansible_ssh_host=192.168.38.104?key=104client_105?ansible_ssh_host=192.168.38.105?key=105sour_106?ansible_ssh_host=192.168.38.106?key=106

通过/etc/ansible/ 定义文件表示变量

创建:/etc/ansible/host_vars/
创建:/etc/ansible/group_vars/

目录下文件名与host?&?group名一致,并未yml格式
例:
????$?cat?/etc/ansible/host_vars/client_105.yml
????
---
client_105_key:?105

使用ansible-playbook命令行传入:

-?为全局变量:-?-e?"name=duanyifei"-?--extra-vars=EXTRA_VARS-?-e?"@var.json"?/?"@var.yaml"?(通过文件传入)???-?cat?var.json:????????-?{"key":?"json"}???-?cat?var.yaml:????????-?key:?yaml

playbook中写入:

---
-?host:?client_105
??vars:
????key:?ansible

playbook中引用vars_file:

vars_files:
????-?var.yaml

vars_prompt传入

---
-?hosts:?client_105
??gather_facts:?False
??vars_prompt:
????-?name:?‘client_105_key‘
??????prompt:?‘Input?key‘??#交互时提示信息
??????private:?no??????????#输入数据是否显示
??tasks:
????-?name:?print?105_key
??????debug:?msg="{{?client_105_key?}}"

register变量:

两个tasks之前传递变量:

????tasks:
??-?name:?test1
????shell:?hostname
????register:?info
??-?name:?test2
????debug:?msg="the?varibale?is?{{?info?}}"

setup模块获取变量传入

#?获取remote_ip变量,并传给对端

$?cat?variable.yml
---
-?hosts:?client_105
??tasks:
????-?name:?print?105_key
??????template:?src=1.txt?dest=/tmp


$?cat?1.txt
{{?ansible_all_ipv4_addresses?}}


结果:
[root@Client_105?~]#?cat?/tmp/1.txt
[u‘192.168.38.105‘]





Ansible_变量定义与引用

标签:ansible   variable   

原文地址:http://blog.51cto.com/duanyifei/2049315

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!