Ansible 简介

欢迎加入 “全栈运维答疑群 632578555” ,希望能在群里对于大家的运维问题能到得到很好的解答。

这里先引用腾讯大Boss马化腾在 腾讯“云+未来”技术峰会上的一句话:
未来主体是传统行业利用互联网技术,以云端用人工智能的方式处理大数据

而在互联网技术中 自动化管理 则是帮助企业快速、高质量、高效率完成持续交付的关键。
目前市面上自动化管理工作诸如Saltstack、puppet、Fabric、Chef等很多,但是这里为啥要选择Ansible呢,一幅图告诉你答案。

同类自动化工具Github关注程度对比(2016-07-10)

同类自动化工具 Watch Star Fork contributors
Ansible 1387 17716 5356 1428
Saltstack 530 6678 3002 1520
Puppet 463 4044 1678 425
Chef 383 4333 1806 464
Fabric 379 7334 1235 116

表格数据来源于Ansible权威指南


官网对于Ansible的定义是Ansible is a radically simple IT automation engine 翻译就是Ansible是一款极其简单的IT自动化工具。所以喽学习起来也不是很难滴。但是其功能还是很强大的。

既然很强大,那就需要深入的挖掘一下它有哪些优点和工作原理了

优点

  • ansible 是用Python开发的,而现在Python对于运维人员来说个人感觉是必备的技能
  • 丰富的内置模块,具体有多少呢,你可以用ansible-doc -l 去看看
  • agentless 也就是无客户端,这样的话部署安装就很简单,管理端配置好了就可以直接使用
  • 批量部署,自动化运维工具,这个是必须的了是吧

工作原理

用一句话总结就是:
一台管理主机,根据定义的 Inventory host 清单或者 playbook ,调用特定的模块通过 openssh 协议在远程主机执行相关命令并返回结果;如自己手绘图:


WechatIMG3615.jpeg

具体的ansible官网给出来的请参考下图

Ansible 简介_第1张图片
ansible-架构.png

从图中我们知道ansible主要包括以下部分:

  • ansible inventory 管理的主机清单
  • ansible playbook 个人把它叫做 编排任务,自定义自己的任务列表,然后交个ansible按照定义的顺序依次执行。
  • modules ansible的核心模块集合
  • plugins 作为对模块的补充,定义额外的插件
  • api 供第三方调用,这个在后续运维平台开发中很有用哦
  • ansible 这个图中没有怎么体现出来,但是它很重要,因为你大部分的自动化管理都是用ansible 这个命令

总结

ansible是一个无需安装客户端的自动化管理工具,它包括了很多的模块帮助我们处理工作。强大的playbook可以帮我们比如自动化部署LNMP环境等。
所以有没有期待继续学习它呢?!

你可能感兴趣的:(Ansible 简介)