3.2. 管理 Gatekeeper operator 策略
使用 Gatekeeper operator 策略在受管集群上安装 Gatekeeper operator 和 Gatekeeper。在以下部分中了解如何创建、查看和更新 Gatekeeper Operator 策略。
需要的访问权限: 集群管理员
3.2.1. 使用 Gatekeeper operator 策略安装 Gatekeeper 复制链接链接已复制到粘贴板!
使用监管框架来安装 Gatekeeper Operator。OpenShift Container Platform 目录中提供了 gatekeeper operator。如需更多信息 ,请参阅 OpenShift Container Platform 文档中的 将 Operator 添加到集群部分。
使用配置策略控制器来安装 Gatekeeper operator 策略。在安装过程中,Operator 组和订阅会拉取 gatekeeper operator 将其安装到受管集群中。然后,Gatekeeper operator 会创建一个 Gatekeeper 自定义资源来配置 Gatekeeper。查看 Gatekeeper operator 自定义资源示例。
在支持 enforce(强制) 补救操作的情况下,gatekeeper operator 策略由 Red Hat Advanced Cluster Management 配置策略控制器监控。当设置为 enforce 时,控制器会自动创建 Gatekeeper Operator 策略。
3.2.2. 从控制台创建 Gatekeeper 策略 复制链接链接已复制到粘贴板!
请参阅以下流程来从控制台创建策略:
-
通过从控制台创建策略来安装 Gatekeeper 策略。另外,您可以进入 Additional resources 部分,以引用示例 YAML 以部署
policy-gatekeeper-operator.yaml。 - 登录到集群后,进入 Governance 页面。
- 选择 Create policy。
-
在完成表单时,从 Specifications 字段中选择 Gatekeeper Operator。策略的参数值会自动填充,策略默认设置为
inform。 -
将补救操作设置为
enforce来安装 gatekeeper。
注: 默认值由 Operator 生成。
3.2.2.1. Gatekeeper operator 自定义资源 复制链接链接已复制到粘贴板!
- 1
- 启用
auditEventsInvolvedNamespace参数来管理要创建的命名空间审计事件。因此,以下参数被添加到 Gatekeeper 控制器部署中,--audit-events-involved-namespace: true。 - 2
- 启用
admissionEventsInvolvedNamespace参数来管理要创建的命名空间准入事件。因此,以下参数被添加到 Gatekeeper 控制器部署中,--admission-events-involved-namespace: true。 - 3
- 您可以使用以下值来管理 webhook 操作。对
operations参数使用以下值:"CREATE"、"UPDATE"、"CONNECT"和"DELETE"。
3.2.2.2. 为同步详情配置 auditFromCache 复制链接链接已复制到粘贴板!
Gatekeeper operator 在 auditFromCache 审计中的自定义资源定义中公开设置,该设置默认为禁用。如果启用了 auditFromCache,则需要为同步详情设置 config.gatekeeper.sh。请参阅 Gatekeeper 文档中的配置审计 部分。
Gatekeeper operator 从用户安装的限制中收集资源,然后将这些资源插入到配置中。如果资源不存在,Operator 会创建配置资源。
在
Gatekeeper资源中将auditFromCache设置为Automatic,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参阅 Gatekeeper operator 在以下示例的配置文件中添加
syncOnlys参数部分:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在终端中运行以下命令,获取
同步设置的说明:oc explain gatekeeper.spec.audit.auditFromCache
oc explain gatekeeper.spec.audit.auditFromCacheCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.3. 升级 Gatekeeper 和 Gatekeeper operator 复制链接链接已复制到粘贴板!
您可以升级 Gatekeeper 和 Gatekeeper operator 的版本。当使用 Gatekeeper operator 策略安装 Gatekeeper operator 时,请注意 installPlanApproval 的值。当 installPlanApproval 设置为 Automatic 时,Operator 会自动升级。
当 installPlanApproval 设置为 Manual 时,您必须手动批准每个集群的 Gatekeeper Operator 升级。
3.2.4. 更新 Gatekeeper operator 策略 复制链接链接已复制到粘贴板!
查看以下部分以了解如何更新 Gatekeeper operator 策略。
3.2.4.1. 从控制台查看 Gatekeeper operator 策略 复制链接链接已复制到粘贴板!
在控制台中查看您的 Gatekeeper operator 策略及其状态。
从控制台登录到集群后,点 Governance 来查看您的策略的表列表。注: 您可以选择 Policies 标签页或 Cluster violations 选项卡来过滤策略列表。
选择 policy-gatekeeper-operator 策略来查看更多详细信息。选择 Clusters 选项卡来查看策略违反情况。
3.2.4.2. 禁用 Gatekeeper operator 策略 复制链接链接已复制到粘贴板!
禁用 gatekeeper operator 策略。
登录到 Red Hat Advanced Cluster Management for Kubernetes 控制台后,进入 Governance 页面来查看您的策略的表列表。
选择 policy-gatekeeper-operator 策略的 Actions 图标,然后点 Disable。此时会出现 Disable Policy 对话框。
点击 Disable policy。您的 policy-gatekeeper-operator 策略已被禁用。
3.2.5. 删除 Gatekeeper operator 策略 复制链接链接已复制到粘贴板!
通过 CLI 或控制台删除 Gatekeeper operator 策略。
通过 CLI 删除 Gatekeeper operator 策略:
运行以下命令来删除 Gatekeeper operator 策略:
oc delete policies.policy.open-cluster-management.io <policy-gatekeeper-operator-name> -n <namespace>
oc delete policies.policy.open-cluster-management.io <policy-gatekeeper-operator-name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除策略后,它会从一个或多个目标集群中移除。
运行以下命令验证您的策略是否已移除:
oc get policies.policy.open-cluster-management.io <policy-gatekeeper-operator-name> -n <namespace>
oc get policies.policy.open-cluster-management.io <policy-gatekeeper-operator-name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
从控制台删除 Gatekeeper operator 策略:
进入 Governance 页面,以查看您的策略的表列表。
与之前的控制台指令类似,点
policy-gatekeeper-operator策略的 Actions 图标。点 Remove 以删除该策略。在 Remove policy 对话框中点击 Remove policy。
您的 Gatekeeper operator 策略已删除。
完成以下步骤以卸载 gatekeeper 策略、gatekeeper 和 gatekeeper operator 策略:
删除应用到受管集群的 gatekeeper
Constraint和ConstraintTemplate:-
编辑 Gatekeeper operator 策略。找到您用来创建 gatekeeper
Constraint和ConstraintTemplate的ConfigurationPolicy模板 。 -
将
ConfigurationPolicy模板的complianceType的值改为mustnothave。 - 保存并应用策略。
-
编辑 Gatekeeper operator 策略。找到您用来创建 gatekeeper
从受管集群中删除 Gatekeeper 实例:
-
编辑 Gatekeeper operator 策略。找到用于创建 Gatekeeper 自定义资源的
ConfigurationPolicy模板。 -
将
ConfigurationPolicy模板的complianceType的值改为mustnothave。
-
编辑 Gatekeeper operator 策略。找到用于创建 Gatekeeper 自定义资源的
删除受管集群上的 Gatekeeper operator:
-
编辑 Gatekeeper operator 策略。找到用于创建 Subscription CR 的
ConfigurationPolicy模板。 -
将
ConfigurationPolicy模板的complianceType的值改为mustnothave。
-
编辑 Gatekeeper operator 策略。找到用于创建 Subscription CR 的
Gatekeeper 策略、Gatekeeper 和 Gatekeeper operator 策略会被卸载。
3.2.7. 其他资源 复制链接链接已复制到粘贴板!
- 如需有关 gatekeeper 的详细信息,请参阅集成 gatekeeper 约束和约束模板。
- 请参阅 Policy Gatekeeper 示例。
- 如需了解可用于 Gatekeeper operator 策略的可选参数的说明,请参阅 Gatekeeper Helm Chart。
- 有关将第三方策略与产品集成的主题列表,请参阅集成第三方策略控制器。