文档

1. 概述

感谢您对 Ansible Tower 的兴趣。Tower 是一个图形化的框架,可以通过 Web 界面和 REST API 端点访问 Ansible(开源 IT 编排引擎)。无论您是与团队共享操作任务还是通过 Tower REST API 与 Ansible 集成,Tower 都提供了许多强大的工具,使您的自动化生活更轻松。

1.1. 实时剧本输出和探索

实时观看剧本运行,查看每个主机检查时的状态。轻松回溯并详细查看特定任务和主机的结果。搜索特定的任务或主机并查看这些结果,或者快速缩小需要纠正的错误。

1.2. “一键式” 自动化

通过最少的点击操作,从 Web 界面访问您喜欢的项目并重新触发执行。Tower 会询问输入变量,提示您的凭据,启动和监控作业,并显示随时间推移的结果和主机历史记录。

1.3. 增强和简化的基于角色的访问控制和审计

Ansible Tower 允许通过基于角色的访问控制 (RBAC) 向不同的团队或明确的用户授予执行特定任务(例如查看、创建或修改文件)的权限。

保持某些项目私有,同时允许某些用户编辑清单,而其他用户只能对某些系统运行剧本 - 无论是检查(试运行)还是实时模式。您还可以允许某些用户使用凭据,而不会向他们公开凭据。无论您做什么,Tower 都会记录操作历史记录以及谁执行了操作 - 包括编辑的对象和启动的作业。

根据用户反馈,Ansible Tower 扩展和简化了其基于角色的访问控制。不再通过对清单、项目和凭据的权限组合来配置作业模板可见性。如果您想授予任何用户或团队使用作业模板的权限,只需直接在作业模板上分配权限即可。类似地,凭据现在是 Tower RBAC 系统中的完整对象,可以分配给多个用户和/或团队以供使用。

Tower 中还引入了一种新的“审计员”类型,他们可以查看系统自动化的所有方面,但没有运行或更改自动化的权限,适用于需要系统级审计员的人员。(这也可能对从 Tower API 抓取自动化信息的 service account 有用。)有关更多信息,请参阅 基于角色的访问控制

后续版本的 Ansible Tower 提供了更细粒度的权限,使您更容易在组织内部委派,并消除自动化瓶颈。

1.4. 云和自动扩展灵活性

Tower 具有强大的配置回调功能,允许节点按需请求配置。虽然是可选的,但对于云自动扩展方案、与 Cobbler 等配置服务器集成或处理具有不可预测正常运行时间的受管系统时,这是一个理想的解决方案。回调解决方案不需要在远程节点上安装任何管理软件,可以通过简单的“curl”或“wget”调用触发,并且可以轻松嵌入到 init 脚本、kickstarts 或 preseeds 中。访问受控制,以便只有清单中的机器可以请求配置。

1.5. 理想的 RESTful API

Tower REST API 是系统管理应用程序的理想 RESTful API,所有资源都完全可发现、分页、可搜索且建模良好。一个样式化的 API 浏览器允许从 http://<Tower server name>/api/ 的 API 根目录进行 API 探索,展示每个资源和关系。用户界面中可以执行的所有操作都可以在 API 中执行 - 甚至更多。

1.6. 备份和恢复

备份和恢复系统的能力已集成到 Tower 设置剧本中,使您能够轻松地备份和复制 Tower 实例,以满足您的需要。

1.7. Ansible Galaxy 集成

在描述自动化时,每个人都重复 DRY 咒语 - “不要重复自己”。使用 Ansible Galaxy 中的 Ansible 角色的集中副本,例如在 Ansible Galaxy 中,可以让您的剧本遵循这一理念。通过在项目目录中包含 Ansible Galaxy requirements.yml 文件,Tower 会自动从 Galaxy、GitHub 或您的本地源代码控制中获取剧本所需的的角色。有关更多信息,请参阅 Ansible Galaxy 支持

1.8. OpenStack 的库存支持

Ansible 致力于让 OpenStack 变得易于使用。作为其一部分,已为 OpenStack 添加了动态库存支持。这使您可以轻松地定位您在 OpenStack 云中运行的任何虚拟机或映像。

1.9. 远程命令执行

通常,您只需要在少数主机上执行简单的任务,无论是添加单个用户、更新单个安全漏洞,还是重启行为异常的服务。Tower 包含远程命令执行 - 您可以将任何可以用单个 Ansible 剧本描述的任务运行在您的库存中的主机或主机组上,让您能够快速轻松地管理系统。此外,这一切都由 Tower 的 RBAC 引擎和详细的审计日志支持,消除了有关谁对哪些机器做了什么操作的任何疑问。

1.10. 系统跟踪

您可以使用事实缓存功能收集事实。有关详细信息,请参阅 事实缓存

1.11. 集成通知

Ansible Tower 使您能够轻松地跟踪自动化状态。您可以为作业模板、项目或整个组织配置可堆叠的通知,并为作业开始、作业成功、作业失败和作业批准(对于工作流节点)配置不同的通知。支持以下通知源

  • 电子邮件

  • Grafana

  • IRC

  • Mattermost

  • PagerDuty

  • Rocket.Chat

  • Slack

  • Twilio

  • Webhook(发布到任意 webhook,以集成到其他工具中)

此外,您可以 自定义每种通知类型的通知消息

1.12. 卫星集成

支持 Red Hat Satellite 6 的动态库存源。

1.13. 运行时作业自定义

将命令行的灵活性带到 Tower,您现在可以提示以下任何一项

  • 库存

  • 凭据

  • 作业标签

  • 限制

1.14. Red Hat Insights 集成

Ansible Tower 支持与 Red Hat Insights 集成,这使得 Insights 剧本可以用作 Tower 项目。

1.15. 增强的 Tower 用户界面

用户界面的布局采用直观的导航元素进行组织。信息一目了然,因此可以直观地找到并使用您需要的自动化。紧凑和展开的查看模式根据需要显示和隐藏信息,各种内置属性使排序变得容易。

1.16. 自定义虚拟环境

自定义 Ansible 环境支持允许您拥有不同的 Ansible 环境并为不同的团队和作业指定自定义路径。

1.17. 身份验证增强功能

Ansible Tower 支持 LDAP、SAML、基于令牌的身份验证。增强的 LDAP 和 SAML 支持允许您以更灵活的方式集成企业帐户信息。基于令牌的身份验证允许通过集成的 OAuth 2 令牌支持轻松地验证第三方工具和服务与 Tower 的身份。

1.18. 集群管理

对集群组的运行时管理允许轻松配置可扩展性。

1.19. 容器平台支持

Tower 可作为 Red Hat OpenShift Container Platform 的容器化 pod 服务提供,可以根据需要轻松地进行扩展和缩减。

1.20. 工作流增强功能

为了更好地模拟复杂的配置、部署和编排工作流,Ansible Tower 在多个方面扩展了工作流

  • 工作流的库存覆盖。您现在可以在工作流定义时或甚至在启动时覆盖整个工作流的库存。定义您的应用程序部署工作流,然后可以轻松地在多个环境中重复使用它们。

  • 工作流的收敛节点。在模拟复杂流程时,您有时需要等待多个步骤完成才能继续。现在 Ansible Tower 工作流可以轻松地复制此功能;工作流步骤现在可以等待任何数量的先前工作流步骤正确完成才能继续。

  • 工作流嵌套。将单个工作流重复使用为更大工作流的组件。例如,将配置和应用程序部署工作流组合成一个主工作流。

  • 工作流暂停和批准。您可以构建包含批准节点的工作流,这些节点需要用户干预。这使得可以在剧本之间暂停工作流,以便用户可以批准(或拒绝)继续执行工作流中的下一步。

1.21. 作业分配

随着自动化在企业范围内的扩展,大规模自动化的需求不断增长。Tower 提供了将跨越数千台机器运行的事实收集或配置作业切分成各个作业片段的功能,这些片段可以分布在您的 Ansible Tower 集群中,以提高可靠性、加快作业完成速度并更好地利用集群。如果您需要在 15,000 台交换机上大规模更改参数,或者收集跨越您数千节点 RHEL 资产的信息,现在您可以轻松地做到这一点。

1.22. 支持在支持 FIPS 的环境中部署

如果您需要在受限模式(例如 FIPS)下运行环境,Ansible Tower 将在这些环境中部署并运行。

1.23. 限制每个组织的主机数量

许多大型组织共享 Tower 实例,供多个组织使用。他们不希望任何一个组织能够使用所有许可的主机,此功能允许超级用户为每个组织可以分配的许可主机数量设置一个指定的上限。Tower 算法考虑了组织限制的变化以及所有组织的总主机数量。如果库存同步导致组织违反策略,则任何库存更新都将失败。此外,超级用户能够“超额分配”许可证,并会发出警告。

1.24. 库存插件

如果使用 Ansible 2.9 运行库存更新,则已更新 Ansible Tower 以使用来自上游集合的以下库存插件

  • amazon.aws.aws_ec2

  • community.vmware.vmware_vm_inventory

  • azure.azcollection.azure_rm

  • google.cloud.gcp_compute

  • theforeman.foreman.foreman

  • openstack.cloud.openstack

  • ovirt.ovirt.ovirt

  • awx.awx.tower

1.25. 密钥管理系统

使用密钥管理系统,外部凭据会存储并提供给 Tower 使用,因此您无需直接向 Tower 提供它们。

1.26. 自动化中心集成

从 Ansible Tower 3.8 开始,自动化中心将充当 Ansible Tower 的内容提供者,这需要同时部署 Ansible Tower 和自动化中心。Tower 和自动化中心可以在 RHEL 7 或 8 上运行,但仅 Tower(而不是自动化中心)支持 OpenShift Container Platform (OCP)。