6.6. 替换源并附加事件流以激活
在创建规则手册激活时,您可以使用事件流在规则手册激活中交换源映射,并简化从外部源到 Event-Driven Ansible 控制器的路由。
有关源映射需要注意的几个关键点:
- 事件流只能在 rulebook 源交换中使用一次。如果您在规则手册中有多个源,则只能替换每个源一次。
- 源映射仅在当前规则手册激活中发生。您必须使用同一规则手册对任何其他激活重复这个过程。
- 只有在规则手册未修改时,源映射才有效。如果在源映射过程中修改了规则手册,则源映射将失败,且必须重复。
- 如果在源映射创建后修改了规则手册,并且发生 重启,则规则手册激活会失败。
流程
- 登录到 Ansible Automation Platform。
-
在导航面板中,选择
。 - 点 。
插入以下内容:
- 名称
- 插入名称。
- 描述
- 此字段是可选的。
- 机构(Organization)
- 输入您的机构名称,或者从列表中选择 Default。
- 项目
项目是规则手册的逻辑集合。此字段是可选的。
注意虽然此字段是可选的,但选择一个项目有助于优化您的规则手册选择列表。
- 规则手册
规则手册根据所选的项目显示。选择规则手册。
注意选择了规则手册后,启用 Event stream 字段。您可以点齿轮图标来显示事件流映射表单。
- 事件流
此时会显示所有可用的事件流,并设置为将事件转发到规则处理器。如果您还没有创建任何事件流,此字段会被禁用。
点 gear 图标显示事件流映射 UI。
完成以下字段:
- 规则手册源
规则手册可以包含多个规则集之间的源。您可以在多个激活中将同一规则手册映射到多个事件流。在管理事件流时,未命名的源会被分配临时名称(__SOURCE {n})来进行识别。
从列表中选择 __SOURCE_1。
- 事件流
从列表中选择您的事件流名称。
点击
。事件流可以替换规则中的匹配源,是可以把各种事件源连接到规则手册激活的服务器端 Webhook。可替换为事件源 ansible.eda.pg_listener 类型的源源的源类型包括 ansible.eda.webhook 和其他兼容的 webhook 源插件。替换所选源只会影响这个激活,并修改 rulebook 的源类型、源名称和参数。过滤器、规则、条件和操作都不受影响。
您可以选择要替换为单个事件流的源。如果您的规则手册中有多个源,您可以选择将每个源替换为事件流,但您不需要替换每个源。下图显示了可以替换哪些源。
pink 中的项目演示了可以替换的源: source type、source name 和 parameters。剩余的项目(filters、规则和操作)没有被替换。
- 凭证
为此规则手册激活选择 0 或更多凭证。此字段是可选的。
注意此字段中显示的凭证根据您的规则激活自定义,仅包含以下凭证类型:Vault、Red Hat Ansible Automation Platform 或您创建的任何自定义凭证类型。如需有关凭据的更多信息,请参阅 凭证。
- 决策环境
决策环境是用于运行 Ansible 规则手册的容器镜像。
注意在 Event-Driven Ansible 控制器中,您无法自定义决策环境的拉取策略。默认情况下,它遵循 always 策略的行为。每次启动激活时,系统会尝试拉取镜像的最新版本。
- 重启策略
这是决定在运行源插件的容器进程结束后激活应如何重启的策略。
策略:
- Always :这会立即重新启动规则手册激活,无论它是否成功结束,并且不会超过 5 次。
- Never :当容器进程结束时,这永远不会重启规则手册激活。
- 失败时,这会默认在 60 秒后重启规则手册激活,只有在容器进程失败时,才会发生超过 5 次。
- 日志级别
此字段定义您记录的事件中的严重性和类型。
levels:
- 错误: 包含激活 History 选项卡中显示的错误消息的日志。
- info :包含有关规则手册激活的有用信息的日志,如成功或失败、触发的操作名称及其关联的操作事件以及错误。
- debug :包含仅在 debug 阶段有用的信息的日志,在生产期间可能只有较少的值。 此日志级别包括 error 和 log level data。
- 服务名称
- 这定义了 Kubernetes 的服务名称,以便在激活公开端口时配置入站连接。此字段是可选的。
- 启用规则手册激活?
- 这会自动启用规则手册激活来运行。
- 变量
-
规则手册的变量采用 JSON 或 YAML 格式。内容等同于通过 ansible-rulebook 命令的
--vars
标志传递的文件。 - 选项
- 如果您不想在 Rule Audit 中看到您的 事件,请检查 Skip audit 选项。
点
。创建规则手册激活后,会显示 Details 页面。
您可以导航到 Event streams 页面,以确认已收到您的事件。