Ansible 实战案例--lookup访问外部数据或数据库中的数据
发布日期:2021-06-28 20:05:34
浏览次数:2
分类:技术文章
本文共 1527 字,大约阅读时间需要 5 分钟。
前言
Ansible Playbook 允许用户使用自定义的变量,不过变量过大,或者太复杂时,无论是在Playbook中通过vars定义,还是在单独的变量文件中定义,可读性都比较差,而且不够灵活。 但是lookup就能够解决这类难题,lookup即能够读取节点上文件系统的文件内容到ansible变量,也可以读取数据库中的内容
提示:本篇文章所使用的环境为centos-8.2基于ansible-2.8.0 搭建 具体环境搭建,请参考:
lookup访问外部数据或数据库中的数据
1、lookup 读取文件
“{
{ lookup(‘file’, ‘files/test.txt’) }}”
[root@node1 ansible]# cat lookup1.yml ---- hosts: localhost vars: info: "{ { lookup('file', 'files/test.txt') }}" tasks: - name: dis var info debug: var: info
2、lookup 生成随机密码
“{
{ lookup(‘password’, ‘files/pwd.txt length=6’) }}”
[root@node1 ansible]# cat lookup2.yml---- hosts: localhost vars: info: "{ { lookup('password', 'files/pwd.txt length=10') }}" tasks: - name: dis var info debug: var: info
3、lookup 读取环境变量
env
[root@node1 ansible]# cat lookup3.yml --- - hosts: localhost tasks: - debug: msg: "{ { lookup('env', 'USER') }}"
4、lookup 执行Linux命令
pipe
示例:[root@node1 ansible]# cat lookup4.yml ---- hosts: localhost tasks: - debug: msg: "{ { lookup('pipe', 'whoami') }}"
5、lookup 读取 template 变量替换后的文件
template
示例:# echo I am the template for test lookup template , and my name is { { name }} > templates/test.j2[root@node1 ansible]# cat lookup5.yml---- hosts: localhost vars: name: student tasks: - debug: msg: "{ { lookup('template', 'templates/test.j2') }}"
6、lookup 读取 DNS 解析的值
dig
示例:[root@node1 ansible]# cat lookup6.yml---- hosts: localhost tasks: - debug: msg: "{ { lookup('dig', 'www.12306.cn') }}"
运行该模块编辑的playbook时,需要安装相应的软件
[root@node1 ansible]# yum install python3-dns
转载地址:https://blog.csdn.net/XY0918ZWQ/article/details/109102005 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月09日 23时45分51秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
UVA 10100- Longest Match(dp之最长公共子序列)
2019-04-28
SDUT 3364-数据结构实验之图论八:欧拉回路(并查集)
2019-04-28
图的基础(C++)
2019-04-28
SAP用户增强总结-采购订单建立增加客户数据增强示例
2019-04-28
journal of neuroscience:面孔的神经表征与眼动模式相协调
2019-04-28
The Neuroscientist:运动性脑震荡的长期影响
2019-04-28
机器学习实战学习笔记一
2019-04-28
CString.Buffer()的作用
2019-04-28
【一次认识一个市场技术指标】之RSI(相对强弱指标)
2019-04-28
【vn.py】 策略实盘自动交易
2019-04-28
Java之Collections工具类方法使用以及源码分析(三)
2019-04-28
Flink之Java 8
2019-04-28
Flink之修改StreamExecutionEnvironment配置Job
2019-04-28
Why Apache Flink®?
2019-04-28
仿牛客社区项目2.5登录模块———登录退出功能
2019-04-28
仿牛客社区项目3.5——显示评论(普通功能,Controller层帖子-评论-回复)
2019-04-28
仿牛客社区项目3.6——增加评论,同时更新评论数【事务】
2019-04-28
[golang]-go中字符串格式化与fmt包简介
2019-04-28
[Leet-go]-复杂链表的复制
2019-04-28