笔者日前在主导公司运维自动化平台构建,在自动化任务的时候,曾经一度想放弃用ansible的打算,
通过同行业专业等方式的了解,大部分的企业在进行自动化任务时候,还是会选择通过ansible来进行。
笔者最开始希望自动化任务管理,用已有的接口基于py语言,通过pexepect、paramiko模块封装,我的理由如下:
1、一般的我们更多会用到ansible的命令执行,如果通过python直接封装接口,很多模块用处不大。
2、在进行linux系统权限密码登录探测的时候,已经有了现有的模块,用现有的模块实现登录就好。
3、最新ansible2.4接口文档好少,导致需要大量的精力了解。
但,随着部分的工作展开,发现ansible的优势也就越来越多,了解越多.
这种想法放弃了,理由如下:
1、ansible实现利用adhoc,play_book实现模块化,对于自动化任务执行一目了然
1、有利于执行过程标准化。2、模块化调用一些自动执行功能。减少很多自己开发工作量。 3、安全限制也很明显,如限制用户、或者sudo等。
2、ansible不仅是任务自动化执行,而且实现了配置同步、服务批量安装、文件上传等等
这样不仅实现自动化命令执行,在自动化发布、配置文件同步等更多场景都可以依赖ansible_playbook实现。
3、ansible采用 python语言开发
模块重写、和调用、原有代码阅读,重写起来方便