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

部署etcd中使用ansible进行变量初始化

时间:2020-02-27 20:56:23      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:cut   lis   默认   ansible   引号   file   ipv4   变量   col   

ansible-playbook 要进行默认变量的生产,可以依靠jinja 的模板渲染功能

看几个官方给出的例子

调用setup 中的变量   例如 setup 中的变量层级为 ansible_eth0_ipv4_address ---->[‘ansible_facts‘][‘eth0‘][‘ipv4‘][‘address‘]


{% for host in groups[app_servers] %} {{ hostvars[host][ansible_facts][eth0][ipv4][address] }} {% endfor %}

调用 inventory中的变量
{{ hostvars[‘test.example.com‘][‘ansible_facts‘][‘distribution‘] }}
{% if ‘webserver‘ in group_names %}
   # some part of a configuration file that only applies to webservers
{% endif %}

调用运行时变量
ansible_play_hosts is the full list of all hosts still active in the current play

 

 

综合以上文档思考得出我们play book 如下

 

TMP_NODES: "{% for h in ansible_play_hosts %}{{ hostvars[h][‘name‘] }}=http://{{ hostvars[h][‘ansible_facts‘][‘default_ipv4‘][‘address‘] }}:20002,{% endfor %}"
ETCD_NODES: "{{ TMP_NODES.rstrip(‘,‘) }}"

一定要在外层使用双引号

部署etcd中使用ansible进行变量初始化

标签:cut   lis   默认   ansible   引号   file   ipv4   变量   col   

原文地址:https://www.cnblogs.com/leleyao/p/12374159.html

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