ansible playbook使用jinja2语法渲染inventory下的主机名和IP到/etc/hosts

1. ansible inventory 下面的 hosts内容如下:

bash 复制代码
[all_host]
app1 ansible_host=10.2.162.147 
app2 ansible_host=10.2.162.148
app3 ansible_host=10.2.162.149
app4 ansible_host=10.2.162.150
app5 ansible_host=10.2.162.151

[nginx]
app1

2. hosts.j2内容如下

bash 复制代码
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

{% for host in groups.all_host %}
{{ hostvars[host]['ansible_host'] }} {{ hostvars[host]['inventory_hostname'] }}
{% endfor %}

3. 渲染结果:

bash 复制代码
cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.2.162.147 app1
10.2.162.148 app2
10.2.162.149 app3
10.2.162.150 app4
10.2.162.151 app5
相关推荐
坐吃山猪5 分钟前
Python进度条
linux·服务器·python
l1t25 分钟前
四种python工具包用SQL查询csv和parquet文件的方法比较
大数据·python·sql
清水白石00825 分钟前
Python 并发三剑客:多线程、多进程与协程的实战抉择
java·服务器·python
2301_7938046925 分钟前
更优雅的测试:Pytest框架入门
jvm·数据库·python
dinl_vin1 小时前
python:常用的基础工具包
开发语言·python
wefly20171 小时前
无需安装、开箱即用!m3u8live.cn 在线 HLS 播放器,调试直播流效率翻倍
前端·后端·python·前端开发工具·后端开发工具
2301_815482931 小时前
用Python实现自动化的Web测试(Selenium)
jvm·数据库·python
将心ONE1 小时前
melo tts安装使用
python
宸翰3 小时前
Python学习:年轻人的第一个入门Python项目(FastAPI版)
后端·python
AsDuang3 小时前
Python 3.12 MagicMethods - 55 - __irshift__
开发语言·python