3.13. 创建并运行规则手册激活
在 Event-Driven Ansible 中,规则手册激活是在后台运行的进程,由执行特定规则手册的决策环境定义。
3.13.1. 设置规则手册激活 复制链接链接已复制到粘贴板!
先决条件
- 您已设置了一个项目。
- 您已设置了决策环境。
流程
-
在导航面板中,选择
。 - 点 。
输入以下信息:
- 名称 :插入名称。
- Description: 此字段是可选的。
- Organization: 此字段是可选的。
- Project: 此字段是可选的。
- 规则手册 :根据您选择的项目显示 Rulebooks。
凭证 :为这个规则手册激活选择 0 个或更多凭证。此字段是可选的。
注意此字段中显示的凭证根据您的规则激活自定义,仅包含以下凭证类型:Vault、Red Hat Ansible Automation Platform 或您创建的任何自定义凭证类型。有关凭证的更多信息,请参阅 使用 自动化决策指南中的凭证。
决策环境 :决策环境是一个容器镜像,用于运行 Ansible 规则手册。
注意在 Event-Driven Ansible 控制器中,您无法自定义决策环境的拉取策略。默认情况下,它遵循 always 策略的行为。每次启动激活时,系统会尝试拉取镜像的最新版本。
重启策略 :这是决定在容器进程运行源插件后如何重启 的策略。从以下选项中选择:
- Always :这会立即重新启动规则手册激活,无论它是否成功结束,并且不会超过 5 次。
- Never :当容器进程结束时,这永远不会重启规则手册激活。
- 失败时,这会默认在 60 秒后重启规则手册激活,只有在容器进程失败时,才会发生超过 5 次。
日志级别 :此字段定义日志记录事件中的内容的严重性和类型。从以下选项之一中选择:
- 错误: 包含激活 History 选项卡中显示的错误消息的日志。
- info :包含有关规则手册激活的有用信息的日志,如成功或失败、触发的操作名称及其关联的操作事件以及错误。
- debug :包含仅在 debug 阶段有用的信息的日志,在生产期间可能只有较少的值。 此日志级别包括 error 和 log level data。
- 服务名称 :定义 Kubernetes 的服务名称,以便在激活公开端口时配置入站连接。此字段是可选的。
- 启用规则手册激活? 要自动启用规则手册激活运行。
-
变量 :规则手册的变量采用 JSON 或 YAML 格式。内容等同于通过 ansible-rulebook 命令的
--vars
标志传递的文件。 - 选项 :如果您不想在规则审核中看到您的事件,请检查 Skip audit 选项。
- 点 。
现在,您的规则手册激活已创建,可以在 Rulebook Activations 页面上管理。
保存新的 rulebook 激活后,会显示 rulebook 激活的详情页面,并显示 Pending、Running 或 Failed 状态。从 there 或 Rulebook Activations 列表视图中,您可以重启或删除它。
有时,当源插件关闭时,它会导致规则手册在一定时间后安全退出。当规则手册激活关闭时,任何等待执行的任务都会被取消,并将信息级别消息发送到激活日志。如需更多信息,请参阅 规则手册。
3.13.1.1. 规则手册激活列表视图 复制链接链接已复制到粘贴板!
在 Rulebook Activations 页面中,您可以查看您创建的规则手册激活以及 Status、带有 规则规则数、Fire count 和 Restart count。
如果 Status 为 Running,这表示规则手册激活在后台运行,并根据规则手册中声明的规则执行必要的操作。
您可以从 Rulebook Activations 列表视图中选择激活来查看更多详情。
对于已运行的所有激活,您可以查看 Details 和 History 选项卡,以获取有关发生情况的更多信息。
3.13.2. 启用和禁用规则手册激活 复制链接链接已复制到粘贴板!
流程
- 选择行级的切换,以启用或禁用您选择的规则手册。
- 在 窗口中,选择 。
- 选择 。
3.13.3. 重启规则手册激活 复制链接链接已复制到粘贴板!
如果当前启用并且重启策略在创建时被设置为 Always,您只能重新启动一个规则手册激活。
流程
- 选择 Rulebook Activation enabled/disabled 切换开关旁边的 图标 ⋮。
- 选择 。
- 在 窗口中,选择 。
- 选择 。
3.13.4. 删除规则手册激活 复制链接链接已复制到粘贴板!
流程
- 选择 Rulebook Activation enabled/disabled 切换开关旁的 图标 ⋮。
- 选择 。
- 在 窗口中,选择 。
- 选择 。
3.13.5. 激活 Webhook 规则手册 复制链接链接已复制到粘贴板!
在 Openshift 环境中,您可以通过创建一个提供规则手册激活的 Kubernetes 服务的路由来允许 Webhook 通过给定端口访问 activation-job-pod。
先决条件
- 您已创建了规则手册激活。
以下是带有给定 Webhook 的 rulebook 示例:
流程
创建一个路由(在 OpenShift Container Platform 中)以公开服务。以下是 ansible-rulebook 源的 Route 示例,它要求 POST 在决策环境 pod 的端口 5000 上:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在创建路由时,使用 到 Route URL 的 Post 进行测试 :
curl -H "Content-Type: application/json" -X POST test-sync-bug-dynatrace.apps.aap-dt.ocp4.testing.ansible.com -d '{}'
curl -H "Content-Type: application/json" -X POST test-sync-bug-dynatrace.apps.aap-dt.ocp4.testing.ansible.com -d '{}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您不需要端口,因为它在 Route (targetPort) 上指定。