我们希望听到您的声音!帮助我们了解 Ansible 生态系统的现状。
参与 Ansible 项目调查 2024

介绍事件驱动型 Ansible 开发者预览

介绍事件驱动型 Ansible 开发者预览

在 2022 年 AnsibleFest 上,Red Hat 宣布了一个令人兴奋的事件驱动型 Ansible 开发者预览。大多数客户正在走向全面的端到端自动化,并且在此过程中有很多途径。事件驱动型 Ansible 是一种增强和扩展自动化的全新方式。它提高了 IT 速度和敏捷性,同时实现了一致性和弹性。

通过完全自动化必要的但例行任务,您和您的团队将有更多时间专注于有趣的工程挑战和新创新。例如,如果您不再需要暂停关键工作手动添加技术细节到服务票据中怎么办?或者处理用户密码重置请求?或者将路由器重置为第一步故障排除步骤?借助事件驱动型 Ansible,您可以显著减少工作中的摩擦,腾出更多时间用于重要项目,并获得一些工作与生活的平衡。

为什么是开发者预览?

事件驱动型 Ansible 技术由 Red Hat 开发,并在 GitHub 上作为开发者预览提供。社区的投入至关重要。由于我们正在构建一个最佳满足您需求的解决方案,因此我们为您提供了为这些需求代言的机会。我们要求技术提供商和最终用户尝试并告诉我们您的想法。您可以通过多种方式提供反馈 - 在 GitHub 上发表评论,在我们于 2022 年 11 月 16 日的办公时间 期间,或通过 [email protected] 电子邮件。

事件驱动型自动化是生态系统的一部分

任何事件驱动型解决方案都必须能够在多供应商环境中工作。因此,我们要求技术合作伙伴不仅尝试事件驱动型 Ansible 开发者预览,而且还要开始构建 Ansible 内容集合,以便我们的解决方案相互补充,并使联合客户更快更轻松地使用它们。

旨在简化

事件驱动型 Ansible 旨在简化和灵活,就像我们今天在 Red Hat Ansible Automation Platform 中提供的功能一样。对事件驱动型 Ansible 来说,这意味着什么?

到目前为止,大多数事件驱动型和“自修复”自动化项目在交付方面都非常复杂且耗时,因为大部分解决方案都是针对特定需求定制开发的。例如,在出现特定活动模式时自动关闭网络防火墙,然后通知相关团队。对于此特定需求而言,这是一个很棒且必要的解决方案。

事件驱动型 Ansible 旨在更灵活,提供更快、更经济高效的方式来启动跨任何用例的新自动化项目。通过编写 Ansible 规则手册(类似于 Ansible 剧本,但更侧重于“如果-那么”场景),并允许事件驱动型 Ansible 订阅事件监听源,您的团队可以更快、更轻松地在整个组织中自动化各种任务。

可以将其想象为一个活动扳手:一种易于调整以适应不同尺寸螺栓的单一工具。这里也是同一个概念 - 一种针对各种 IT 自动化需求的单一自动化工具。

什么是事件驱动型 Ansible?

事件驱动型 Ansible 是一种高度可扩展、灵活的自动化功能,可以与事件源(例如其他软件供应商的监控工具)协同工作。在自动修复用例中,这些供应商工具会监视您的 IT 解决方案并识别事件,例如中断。事件驱动型 Ansible 将您团队关于如何在 Ansible 规则手册中以规则形式处理识别出的事件(例如,我们示例中的中断)的技术信息记录下来。当此事件(中断)发生时,事件驱动型 Ansible 会将规则与“事件”(中断)匹配,并自动实施规则手册中记录的更改或响应以处理事件。在我们中断示例中,这可能是一个操作,例如重置或重新启动未响应的资产。

EDA diagram

事件驱动型 Ansible 模型中包含三个主要构建块:源、规则和操作,它们在完成上述工作流程中起着关键作用。

  • 是提供事件的第三方供应商工具。它们定义和识别事件发生的位置,然后将事件传递给事件驱动型 Ansible。当前的源支持包括 Prometheus、Sensu、Red Hat 解决方案、Webhook 和 Kafka,以及自定义的“自带”源。
  • 规则 通过 Ansible 规则手册记录您对事件的处理方式。它们使用熟悉的类似 YAML 的结构,并遵循“如果这样则那样”的模型。Ansible 规则手册可以调用 Ansible 剧本,或者具有直接模块执行功能。
  • 操作 是事件发生时执行 Ansible 规则手册指令的结果。

有关集成的更多信息

事件驱动型 Ansible 允许您订阅源、监听事件,然后根据这些事件采取行动。目前,我们已经创建并可以使用许多源插件。

我们通过为 Webhook 和 Kafka 提供事件源插件,从而支持来自合作伙伴技术的事件。许多合作伙伴工具可以利用 Kafka 和 Webhook 集成到事件驱动型 Ansible 生态系统中。事件驱动型 Ansible 从这些源接收事件后,可以根据您在 Ansible 规则手册中指定的指令,将规则分配给这些事件。技术提供商还可以开发事件源插件,这些插件可以更直接地将他们的工具与事件驱动型 Ansible 集成,并通过内容集合分发这些插件。

还支持开源插件。这些插件使事件驱动型 Ansible 能够处理许多不同的事件。它们包括:

  • Kafka 用于事件流
  • Webhook
  • watchdog,一个文件系统监视器
  • url_check 用于检查 URL 的状态
  • Range,一个事件生成插件
  • File,从 YAML 加载事实
  • 路线图集成支持从云服务提供商处理。

除了所有这些使事件能够触发操作的集成之外,还需要注意的是,Red Hat Ansible Automation Platform 不需要在接收自动化操作的目标解决方案上存在代理。这对于无法托管代理的技术(例如边缘设备或网络路由器)来说非常方便且理想,并且使事件驱动型 Ansible 成为更易于部署的解决方案。

从小处着手,放眼未来:推荐用例

Red Hat 通常建议采用“从小处着手,放眼未来”的方法来提高您的自动化成熟度,事件驱动型 Ansible 也不例外。我们认为 IT 服务管理是一个很好的起点,建议您寻找经常重复的简单任务,以获得最大的收益。

您可以使用事件驱动型 Ansible 规则手册来增强服务票据,对票据和问题进行基本修复,并管理您每天收到的各种最终用户请求,例如密码重置。

此外,您可以针对所有常见领域(包括基础设施、网络、云、安全和边缘)自动化用例,以用于服务管理和其他任务。掌握基本知识后,很容易增加 Ansible 规则手册的数量、范围和复杂性。

入门并分享反馈

首先,请查看此 网页,您将在其中找到有关事件驱动型 Ansible 的更多详细信息,并且可以访问其他资源,例如自定进度的实验室、操作视频和有关此解决方案的更多详细信息。您还会找到我们第一次办公时间活动的注册链接,您可以在该活动中提出问题并学习提示和技巧。

掌握一些基本知识后,请使用 此处 找到的开发者预览代码。简而言之,您的基本步骤是:从 GitHub 存储库下载并安装事件驱动型 Ansible,配置事件源以便事件驱动型 Ansible 订阅,编写 Ansible 规则手册,并开始监听事件。

作为一个社区项目,我们请您通过 GitHub 评论、办公时间或通过 [email protected] 电子邮件向我们提供反馈。

展望事件驱动型 Ansible

虽然这项技术是一个社区项目,但我们有更大的目标,旨在塑造此功能以满足您的需求。此外,我们希望将来将事件驱动型 Ansible 集成到 Red Hat Ansible Automation Platform 组件中。借助 Red Hat Ansible Automation Platform,您可以获得平台提供的所有功能,包括 RBAC 和其他控制功能,以及以更加灵活的方式使用单个自动化平台来执行手动启动的自动化(通过 Ansible 剧本)以及完全自动化的操作(通过 Ansible 规则手册)。

希望这篇文章对事件驱动型 Ansible 提供了一个很好的概述。