简介

什么是事件驱动的 Ansible?

事件驱动的 Ansible 是一种增强和扩展自动化的全新方式。它提高了 IT 速度和敏捷性,同时实现了一致性和弹性。事件驱动的 Ansible 技术由 Red Hat 开发,并作为开发者预览版提供。社区的投入至关重要。由于我们正在构建一个解决方案以最佳地满足您的需求,因此我们为您提供了一个倡导这些需求的机会。

事件驱动的 Ansible 旨在实现简单性和灵活性。通过编写 Ansible 规则手册(类似于 Ansible Playbook,但更面向“如果-则”场景)并允许事件驱动的 Ansible 订阅事件侦听源,您的团队可以更快、更轻松地自动化整个组织中的各种任务。EDA 提供了一种对操作逻辑进行编码的方式。

为什么选择事件驱动?

自动化使我们能够为我们的系统和技术提供速度和敏捷性,同时最大程度地减少人为错误。但是,当涉及到故障单和问题时,我们通常只能依靠传统且通常是手动的方法进行故障排除和信息收集。我们固有地减慢了速度并打断了我们的业务。我们必须收集信息,尝试我们常见的故障排除步骤,并与不同的团队确认。

事件驱动的 Ansible 的一个应用是将此操作知识编码,以便近乎实时地修复技术问题,或者至少触发故障排除和信息收集,以尝试找到中断的根本原因,同时您的支持团队处理其他问题。

事件驱动的 Ansible 有可能改变我们应对问题的方式,并展现了许多新的自动化可能性。

它为更快地解决问题和更全面地自动化观察我们的环境打开了可能性。

为什么使用规则手册?

事件驱动的 Ansible 包含一个使用 Drools 构建的决策框架。我们需要一个规则手册来告诉系统要标记哪些事件以及如何响应这些事件。这些规则手册也是用 YAML 创建的,并且像传统的 Ansible Playbook 一样使用,因此这使得更容易理解和构建我们需要的规则手册。Playbook 和规则手册之间的一个关键区别在于规则手册中所需的“如果这样,则那样”编码,以使事件驱动的自动化方法能够正常工作。

规则手册由三个主要组件组成

  • 定义我们将使用的事件源。这些源来自已构建以适应常见用例的源插件。随着时间的推移,将会有越来越多的源可用。已经有一些可用的源插件,包括:webhook、Kafka、Azure 服务总线、文件更改和警报管理器。

  • 规则定义我们将尝试从事件源中匹配的条件。如果满足条件,那么我们可以触发操作。

  • 操作触发在满足条件时需要发生的事情。一些当前的操作包括:run_playbook、run_module、set_fact、post_event、debug。

因此,总结一下

事件由规则引擎处理

  • 规则根据条件触发,并且规则引擎可以执行操作

  • 规则组织到 Ansible 规则手册中

  • Ansible 规则可以应用于特定主机或组上发生的事件

对事件的操作进行条件管理

  • 用于逻辑条件的简单 YAML 结构

  • 事件可以触发不同类型的操作

  • 运行 Ansible Playbook

  • 直接运行模块

  • 将新事件发布到事件处理程序

类似 YAML 的格式易于理解

  • 当前的 Ansible 用户可以快速学习和使用规则手册编写

入门

请参阅 入门

其他资源

无论您是刚刚开始您的自动化之旅还是经验丰富的资深人士,都有各种资源可以增强您的自动化知识