这里先引用腾讯大Boss马化腾在 腾讯“云+未来”技术峰会上的一句话:
而在互联网技术中 则是帮助企业快速、高质量、高效率完成持续交付的关键。
目前市面上自动化管理工作诸如Saltstack、puppet、Fabric、Chef等很多,但是这里为啥要选择呢,一幅图告诉你答案。
同类自动化工具Github关注程度对比(2016-07-10)
表格数据来源于
官网对于的定义是 翻译就是Ansible是一款极其简单的IT自动化工具。所以喽学习起来也不是很难滴。但是其功能还是很强大的。
既然很强大,那就需要深入的挖掘一下它有哪些优点和工作原理了
优点
ansible 是用Python开发的,而现在Python对于运维人员来说个人感觉是必备的技能
丰富的内置模块,具体有多少呢,你可以用 去看看
agentless 也就是无客户端,这样的话部署安装就很简单,管理端配置好了就可以直接使用
批量部署,自动化运维工具,这个是必须的了是吧
工作原理
用一句话总结就是:
一台管理主机,根据定义的 Inventory host 清单或者 playbook ,调用特定的模块通过 openssh 协议在远程主机执行相关命令并返回结果;如自己手绘图:
具体的ansible官网给出来的请参考下图
从图中我们知道ansible主要包括以下部分:
ansible inventory 管理的主机清单
ansible playbook 个人把它叫做 编排任务,自定义自己的任务列表,然后交个ansible按照定义的顺序依次执行。
modules ansible的核心模块集合
plugins 作为对模块的补充,定义额外的插件
api 供第三方调用,这个在后续运维平台开发中很有用哦
ansible 这个图中没有怎么体现出来,但是它很重要,因为你大部分的自动化管理都是用 这个命令
总结
ansible是一个无需安装客户端的自动化管理工具,它包括了很多的模块帮助我们处理工作。强大的playbook可以帮我们比如自动化部署LNMP环境等。
所以有没有期待继续学习它呢?!
领取专属 10元无门槛券
私享最新 技术干货