在 群 2014 布拉格会议, 阿迪亚·帕塔瓦里 发表了关于 Fedora 项目的 用于 Ansible 用于编排其服务。 系统管理员今天面临着许多挑战,因为这些系统的新服务器、应用程序和更新需要不断推出。 决定是虚拟部署还是裸机部署; 配置和管理系统及其访问凭据也是一项持续且重复的挑战,Patawari 将其称为“系统管理员循环”。
手动工具脚本或其他部署工具,例如 木偶 和 厨师 可能是系统管理员处理这些问题的一种方式。 但是这些解决方案如何扩展并帮助系统管理员转移到其他更有效地利用他们的时间呢? 脚本老化很快,以后可能难以阅读或传递给其他人。
Fedora 使用 Puppet 已经有一段时间了,因为这是目前最好的工具。 但是,Puppet 需要安装每台机器的代理,并且基于 红宝石 — 通常与平台发布的版本不同。 中的一个 Fedora 基础架构团队 校长, 斯蒂芬·斯穆根,还评论了puppet master的可扩展性问题。
Ansible 采用不同的方法,使用 YAML 对于称为剧本的可读定义,以及非常广泛使用的 开放SSH 作为它的运输引擎。 Ansible 的另一个显着特点是它不需要服务器安装任何代理。
Ansible 可以通过 yum 轻松安装,任何了解如何使用 ssh 的系统管理员都可以运行 Ansible。 它使复杂的部署与临时或脚本命令一样简单。 Ansible 的清单文件以简单易读的格式记录和分组要控制的主机,以便对其进行控制。 Patawari 然后通过一些简单的剧本示例带领观众展示如何在 Ansible 中访问和管理主机。
通过降低复杂性和后端要求,Patawari 断言, Ansible 使系统管理员的工作可以随时随地轻松访问。 他指出的一个困难是从像 Puppet 这样更复杂的系统迁移具有挑战性,而从头开始编写新的剧本非常容易。 他确实指出,剧本应该始终是幂等的——这意味着如果运行不止一次,它们不会影响系统。
Fedora,Patawari 说,由 example 与 Ansible。 我们正在将我们的部署从 Puppet 转换为 Ansible,并且还有一些模块。 任何有兴趣的人都可以帮助完成这些剩余的转换,或者只是了解 Ansible 和其他帮助方式,请访问我们的 Fedora IRC Freenode 的基础设施团队 在#fedora-admin 渠道.
您可以在以下网址观看几乎所有 Flock 2014 会议演示文稿 会议 YouTube 频道在这里. 您还可以在下面观看 Patawari 的完整演示文稿。