胸怀万里世界, 放眼无限未来。这篇文章主要讲述[RHCE学习笔记] ansible使用jinja2 生成hosts主机文件相关的知识,希望能为你提供帮助。
ansible使用jinja2 生成hosts主机文件【[RHCE学习笔记] ansible使用jinja2 生成hosts主机文件】老王运维博客 -ansible使用jinja2 生成hosts主机文件
?创建主机文件利用jinjia2魔法变量进行编写 收集所有主机事实变量,一般包含IP地址和主机名,FQDN完全限定域名。 jinja2模板中使用循环来获取使用主机的三个信息:address、fqdn、hostname。针对模板中的参数信息,可以使用setup模块先生成一个主机的使用信息到文件中,然后less打开生成的文本文件,搜索条目即可得到需要的参数信息。
编写yaml文件 用于ansible template模块调用
---
- name: test yml
hosts: all
tasks:
- name : template
template:
src: test.j2
dest: /tmp/myhosts
when: inventory_hostname in groups.dev
创建jinja2模板
% for host in groups[all] %
hostvars[host][ansible_facts][default_ipv4][address]hostvars[host][ansible_facts][fqdn]hostvars[host][ansible_facts][hostname]
% endfor %
注意: yaml文件中 hosts 要选择所有主机 否则无法收集到所有被管理节点的事实变量,生成到某一个主机在template 加when 判断即可
推荐阅读
- 面试官(什么场景MySQL缓存失效(生产环境到底要不要开启MySQL缓存?))
- Redis 忽然变慢了如何排查并解决()
- 重磅!博睿数据发布新一代统一告警平台
- Linux中buff-cache占用过高解决方案
- 缓存加速——LNMP平台对接redis服务
- 关于k8s Pod的自动水平伸缩(HPA)
- gitlab搭建
- 第二节Igress部署安装(nginx)
- 1月云短信报告出炉,华为云跃居榜首