Ansible
Opened this issue · 1 comments
Ansible 介绍
http://erdong.site/ansible-notes/ch01/1.1-ansible-introduce.html
IT 自动化配置管理最近20年获得了迅猛的发展,特别最近几年再移动互联、云计算、大数据、互联网+ 等大规模应用平台的需求推动下,涌现出一大批成熟的大规模值工具,比如 Puppet、Chef、Salt、Ansible 等。
在开源仓库 Github 上自动化工具关注程度信息表如下,可以看出 Ansible 是最受欢迎的。 (截止2019年3月23日)
配置工具 | Watch | Star | Fork | 开始时间 | 开发语言 |
---|---|---|---|---|---|
ansible/ansible | 2037 | 36057 | 14822 | 2012.2.5 | Python |
puppetlabs/puppet | 503 | 5228 | 2073 | 2005.4.10 | Ruby |
saltstack/salt | 618 | 9750 | 4518 | 2011.2.20 | Python |
Chef/chef | 442 | 5694 | 2304 | 2008.5.2 | Ruby |
Ansible 使用 Python 作为开发语言,巧妙的设计、实现了简单易用、功能强大的管理工具。Ansible 由 Mickael DeHaan 发起、开发创建,第一个版本发布于2012年2月。
Ansible 名称的由来
最早是厄休拉.勒古恩(Ursula K. Le Guin)在1966年的小说《罗卡农的星球》(Rocannon‘s World)中创造了 Ansible 这个词。
这个词从 answerable 演变而来,用以表示一种能在浩瀚宇宙中即时通讯的装置。
并且很快传播到了很多科幻作家的作品中,Ansible 往往作为一种比光速还快的虚拟通信工具。
在《安德的游戏》(Ender's Game)中,地球两次遭遇过虫族的进攻。
国际舰队认为必须在世界各地寻找天资聪颖的孩童,将他们塑造成舰队指挥官,使人类在和虫族的战斗中占领先机,并且得到存活的希望。
安德使用 Ansible 装置实时远程指挥前线的舰队,这是相聚数光年作战的唯一可行方式。
Mickael DeHaan 想用这个词来比喻控制远端大量的服务器。
Ansible 的编排引擎可以出色的完成配置管理、流程控制、资源部署等多方面工作。与其他 IT 自动化产品相比较,Ansible 可以提供一种不需要安装客户端软件、管理便捷、功能强大的基础架构配置、维护工具。
Ansible 基于 Python 语言实现,由 Paramiko 和 PyYAML 两个关键模块构成。
Ansible 的优点:
简单
- 人类可读的自动化
- 不需要特殊的编程技巧
- 任务顺序执行
- 快速用于生产
强大
- 应用程序部署
- 配置管理
- 工作流的编排
- 应用生命周期的编排
无agent
- 无代理的架构
- 基于 OpenSSH 和 WinRM
- 不需要更新 agent
- 高效、安全
Ansible 主要用在 配置管理、服务即时开通、应用部署、流程编排四个领域。