ansible介绍
Posted 全栈运维
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 协议在远程主机执行相关命令并返回结果;如自己手绘图:
具体的ansible官网给出来的请参考下图
从图中我们知道ansible主要包括以下部分:
ansible inventory 管理的主机清单
ansible playbook 个人把它叫做 编排任务,自定义自己的任务列表,然后交个ansible按照定义的顺序依次执行。
modules ansible的核心模块集合
plugins 作为对模块的补充,定义额外的插件
api 供第三方调用,这个在后续运维平台开发中很有用哦
ansible 这个图中没有怎么体现出来,但是它很重要,因为你大部分的自动化管理都是用
ansible
这个命令
总结
ansible是一个无需安装客户端的自动化管理工具,它包括了很多的模块帮助我们处理工作。强大的playbook可以帮我们比如自动化部署LNMP环境等。
所以有没有期待继续学习它呢?!
以上是关于ansible介绍的主要内容,如果未能解决你的问题,请参考以下文章