在当配置管理市场是由木偶和厨师支配的时间,称为Ansible一个开源项目出现了一个更简单的方法,以自动化的IT环境。这是简单易学的无代理系统,Ansible很快为自己赢得了一个名字。不久,该项目背后的开发商形成了公司提供商业支持。这家公司 - 第一称为AnsibleWorks,然后Ansible - 由开源领袖的Red Hat在2015年10月收购。
原建执行引擎,Ansible开始允许Linux和Unix管理员在一个或多个机器上远程运行任意命令,但后来演变成自动化和管理整个IT基础架构的完整解决方案。随着2.0版本,加入Ansible 200多个模块,以改善和扩大对亚马逊网络服务,的CloudStack,OpenStack的,VMware的,Windows和网络基础设施,其他目标的支持。2.1版提高了码头工人的支持,增加了大量对微软Azure的模块,并删除Windows的支持测试版的标签。
Ansible 2.X还从代码解析剧本的改写主要受益。也许这里最重要的新的和有用的功能是任务模块,它可以让你组相关的任务,并把异常处理(认为的try-catch-finally程序),以轻松剧本。但其他方面的改进,如动态包括报表(想通过库存变量循环)和更好的错误检查功能,帮助提高功率和Ansible剧本的灵活性,同时保持其简单性和易用性。
Ansible架构
相反,代理的是在你的系统上运行,Ansible推模块(脚本)到远程系统并执行。默认情况下,模块都通过安全外壳(SSH)和Windows机器通过Windows远程管理推到Linux机器(WinRM的)。系统被配置为具有“剧本”,这是简单的YAML文件,每个剧本包含一个或多个任务(调用一个模块),将系统设置为它的期望的状态。剧本写为幂等
,这意味着它们可被重复运行并且仅当改变需要施加将修改系统。剧本被施加到根据库存系统;清单列表可以存储在一个简单的文本文件或从如数据库或Web服务的动力之源拉动。
现在,我们已经介绍了剧本,让我们快速浏览一下示例清单文件: