系统集成Ansible

Ansible能否自定义功能?

Ansible在使用过程中,可能会有部分功能无法满足要求,能否根据实际情况,进行自行定义

参与5

2同行回答

jxnxsdengyujxnxsdengyu课题专家组系统工程师江西农信
ANSIBLE很强大,能够支持自定义模块和自定义插件,来满足我们的实际需要,实现现有模块和插件无法达到的效果。Ansible自定义模块:模块是Ansible的核心引擎, Ansible中的模块就是传输给远程主机并执行的那点代码。它们可以使用远程主机可以执行的任何语言实现。 Ansible的核心开...显示全部

ANSIBLE很强大,能够支持自定义模块和自定义插件,来满足我们的实际需要,实现现有模块和插件无法达到的效果。
Ansible自定义模块:
模块是Ansible的核心引擎, Ansible中的模块就是传输给远程主机并执行的那点代码。它们可以使用远程主机可以执行的任何语言实现。 Ansible的核心开发团队维护的Ansible核心模块大概有150多个,涵盖了云、命令、数据库、文件、网络、包、源控制、系统、工具、web设施等等。另外,还有100多个其他额外模块,主要由社区贡献者维护,它们扩展了这些类别的很多功能。真正神奇就发生在模块代码内部,它们接受传入的参数,然后建立预期的结果。而且Ansible能够提供一种简单的机制来利用来自Ansible外部的自定义模块。
Ansible自定义插件使用场景举例:
1)除Paramiko、本机SSH、Local、Winrm连接方式外,希望Ansible基于新的通信方式与远程主机交互;
2)除Ansible内置的with_items、with_fileglob循环体外,希望有新的遍历方式;
3)除了Ansible内置的host_vars、group_vars等变量调用方式外,希望有新的变量定义方式;
4)除了Ansible的内置的Jinja2模板渲染、to_yaml、to_json等过滤器外,希望有新的过滤器;
5)定义新的回调机制,即捕获响应事件后自定义新的响应形式。

收起
银行 · 2020-06-16
浏览1543
lnasmanlnasman行业架构师浪潮商用机器有限公司
Ansible的功能自定义可以通过两个方法来解决:方法1:自定义脚本,如果自定义功能比较简单,可以通过操作系统脚本方式来实现的话,可以通过自定义一个shell脚本,并通过ansible的script模块进行调用。以实现自定义功能方法2:自定义模块,这个会稍微复杂一点。ansible是通过python语言开...显示全部

Ansible的功能自定义可以通过两个方法来解决:
方法1:自定义脚本,如果自定义功能比较简单,可以通过操作系统脚本方式来实现的话,可以通过自定义一个shell脚本,并通过ansible的script模块进行调用。以实现自定义功能
方法2:自定义模块,这个会稍微复杂一点。ansible是通过python语言开发的,并且支持通过python语言自定义模块。不过这一点需要具有一定的编程知识。以下是在网上随便找到的一个自定义python ansible模块的文档。没事儿的时候可以研究一下。https://www.cnblogs.com/lovesKey/p/10923458.html

收起
IT咨询服务 · 2020-06-15
浏览1569

提问者

loverandom
系统架构师中国电子系统技术有限公司
擅长领域: 数据库服务器前置系统

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2020-06-15
  • 关注会员:3 人
  • 问题浏览:3529
  • 最近回答:2020-06-16
  • X社区推广