3.3. 为监管配置 Ansible Tower
Red Hat Advanced Cluster Management for Kubernetes 监管可与 Ansible Tower 自动化集成,以创建策略违反自动化。您可以从 Red Hat Advanced Cluster Management 控制台配置自动化。
3.3.1. 先决条件
- Red Hat OpenShift Container Platform 4.5 或更高版本
- 已安装 Ansible Tower 版本 3.7.3 或更高版本。安装最新版本的 Ansible Tower 是最佳实践方案。如需了解更多详细信息,请参阅 Red Hat Ansible Tower 文档。
- 将 Ansible Automation Platform Resource Operator 安装到 hub 集群,将 Ansible 作业连接到管理框架。为了获得最佳结果,在使用 AnsibleJob 启动 Ansible Tower 作业时,Ansible Tower 作业模板在运行时应该是等价的。如果没有 Ansible Automation Platform Resource Operator,您可以在 Red Hat OpenShift Container Platform OperatorHub 页面中找到它。
有关安装和配置 Ansible Tower 自动化的更多信息,请参阅设置 Ansible 任务。
3.3.2. 从控制台创建策略违反自动化
登录到 Red Hat Advanced Cluster Management hub 集群后,从导航菜单中选择 Governance,然后点 Policies 选项卡来查看策略表。
单击 Automation 列中的 Configure,为特定策略配置自动化。当策略自动化面板出现时,您可以创建自动化。在 Ansible credential 部分中,单击下拉菜单来选择 Ansible 凭据。如果您需要添加凭证,请参阅管理凭证概述。
注:此凭证复制到与策略相同的命名空间中。该凭据供创建用于启动自动化的 AnsibleJob
资源使用。控制台的 Credentials 部分中的 Ansible 凭据更改会被自动更新。
选择了凭据后,单击 Ansible 作业下拉列表来选择作业模板。在 Extra variables 部分,添加来自 PolicyAutomation
的 extra_vars
部分中的参数值。选择自动化的频率。您可以选择 Run once mode、Run everyEvent mode 或 Disable automation。
选择 Submit 保存您的策略违反自动化。当您从 Ansible 作业详情侧面板选择 View Job 链接时,链接会将您定向到 Search 页面上的作业模板。成功创建自动化后,它会显示在 Automation 列中。
注: 当您删除具有关联策略自动化的策略时,策略自动化会在清理过程中自动删除。
您的策略违反自动化是从控制台创建的。
3.3.3. 通过 CLI 创建策略违反自动化
完成以下步骤,通过 CLI 配置策略违反自动化:
-
在终端中,使用
oc login
命令登录到 Red Hat Advanced Cluster Management hub 集群。 - 查找或创建您要向其添加自动化的策略。请注意策略名称和命名空间。
使用以下示例创建
PolicyAutomation
资源,作为指南:apiVersion: policy.open-cluster-management.io/v1beta1 kind: PolicyAutomation metadata: name: policyname-policy-automation spec: automationDef: extra_vars: your_var: your_value name: Policy Compliance Template secret: ansible-tower type: AnsibleJob mode: disabled policyRef: policyname
-
上例中的 Ansible 作业模板名称是
Policy Compliance Template
。更改该值,使其与您的任务模板名称匹配。 -
在
extra_vars
部分中,添加您需要传递给 Ansible 作业模板的任何参数。 -
将模式设置为
once
、everyEvent
或disabled
。 -
将
policyRef
设置为您的策略的名称。 -
在与包含 Ansible Tower 凭据的
PolicyAutomation
资源相同的命名空间中创建一个 secret。在上例中,secret 名称为ansible-tower
。使用应用程序生命周期中的示例来查看如何创建 secret。 创建
PolicyAutomation
资源。备注:
可以通过在
PolicyAutomation
资源中添加以下注解来立即运行策略自动化:metadata: annotations: policy.open-cluster-management.io/rerun: "true"
-
当策略为
once
模式时,当策略不合规时自动化将运行。添加名为target_clusters
的extra_vars
变量,值是每个受管集群名称的数组,其中的策略不合规。 -
当策略处于
everyEvent
模式且DelayAfterRunSeconds
超过定义的时间值时,策略不合规,且自动化会针对每个策略违反。