ansible自定义模块
2021/12/15 23:40:31
本文主要是介绍ansible自定义模块,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
参考官网:http://www.ansible.com.cn/docs/developing_modules.html#tutorial
阅读 ansible 附带的模块(上面链接)是学习如何编写模块的好方法。但是请记住,ansible 源代码树中的某些模块是内在的,因此请查看service或yum,不要太靠近async_wrapper 之类的东西,否则您会变成石头。没有人直接执行 async_wrapper。
好的,让我们开始举例。我们将使用 Python。首先,将其保存为名为timetest.py的文件:
#!/usr/bin/python import datetime import json date = str(datetime.datetime.now()) print(json.dumps({ "time" : date }))程序
自定义模块
创建模块目录
[root@mcw1 ~]$ mkdir /usr/share/my_modules #这个目录并不存在,ansible配置中存在这个注释掉的路径
编写模块返回内容
[root@mcw1 ~]$ vim uptime
#!/usr/bin/python import json import os up = os.popen('uptime').read() dic = {"result":up} print json.dumps(dic)
执行结果:
启动模块目录
[root@mcw1 ~]$ grep library /etc/ansible/ansible.cfg #将配置中的这行内容注释,取消掉
library = /usr/share/my_modules/
测试模块使用情况
这里显示它使用的解释器路径了,这个解释器是python2的解释器,如果我写的是python3的脚本,并且不支持python2执行,我可能需要修改ansible默认使用的python解释器。有点问题,我脚本里写的是python2的解释器,我写成python3应该就是python3了吧
按照上面想法试了下,果然是的,我另一个主机是没有安装python3的,所以报错了。使用python3,貌似不会显示python的路径,跟之前python2有点区别
参考地址:https://blog.csdn.net/weixin_46108954/article/details/104990063
这篇关于ansible自定义模块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南