5.5. 集成 Gatekeeper 约束和约束模板
要创建 Gatekeeper 策略,请使用 ConstraintTemplates
和约束。在 Policy
资源的 policy-templates
中添加模板和限制。查看 Red Hat Advanced Cluster Management 策略中使用 Gatekeeper 约束的以下 YAML 示例:
ConstraintTemplates
和约束: 使用 Red Hat Advanced Cluster Management 策略在 hub 集群上进行多集群发布 Gatekeeper 约束和 Gatekeeper 审计结果聚合。以下示例定义了一个 GatekeeperConstraintTemplate
和 constraint (K8sRequiredLabels
),以确保在所有命名空间中设置了gatekeeper
标签:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 因为
remediationAction
被设置为inform
,所以 Gatekeeper 约束的enforcementAction
字段会被覆盖来warn
。这意味着 Gatekeeper 会检测并警告您创建或更新缺少gatekeeper
标签的命名空间。如果策略remediationAction
设置为enforce
,则 Gatekeeper 约束enforcementAction
字段会被覆盖为deny
。在这种情况下,此配置可防止任何用户创建或更新缺少gatekeeper
标签的命名空间。 - 2 3
- 可选:为每个 Gatekeeper 约束或约束模板设置
policy.open-cluster-management.io/severity
注解的严重性值。有效值与其他 Red Hat Advanced Cluster Management 策略类型相同:low
,medium
,high
, 或critical
。
使用前面的策略,您可能会收到以下策略状态消息:
warn - you must provide labels: {"gatekeeper"} (on Namespace default); warn - you must provide labels: {"gatekeeper"} (on Namespace gatekeeper-system)
。当您从策略中删除 Gatekeeper 约束或ConstraintTemplates
时,也会从受管集群中删除约束和ConstraintTemplates
。要从控制台查看特定受管集群的 Gatekeeper 审计结果,请转至策略模板 结果 页面。如果启用了搜索,请查看失败的审计的 Kubernetes 对象的 YAML。
备注:
- 相关 resources 部分仅在 Gatekeeper 生成审计结果时可用。
- Gatekeeper 审计默认每分钟运行一次。审计结果会发回到 hub 集群,以便在受管集群的 Red Hat Advanced Cluster Management 策略状态中查看。
policy-gatekeeper-admission
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.5.1. 其他资源 复制链接链接已复制到粘贴板!
如需了解更多详细信息,请参阅以下资源: