2.6.3. 使用 GitOps 部署策略
您可以使用监管框架在一组受管集群中部署一组策略。您可以通过添加到开源社区的 policy-collection
中,贡献并使用存储库中的策略。如需更多信息,请参阅 贡献自定义策略。来自开源社区的、位于 stable
和 community
目录中的策略会进一步根据 NIST Special Publication 800-53 进行组织。
继续阅读以了解使用 GitOps 通过 Git 存储库自动化和跟踪策略更新和创建的最佳做法。
先决条件:在开始之前,务必 fork policy-collection
存储库。
2.6.3.1. 自定义本地存储库
通过将 stable
和 community
策略整合到单个文件夹中,自定义您的本地存储库。删除您不想使用的策略。完成以下步骤以自定义您的本地存储库:
在存储库中创建一个新目录,以存放您要部署的策略。确保您位于 GitOps 的主要默认分支的本地
policy-collection
存储库中。运行以下命令:mkdir my-policies
将所有
stable
和community
策略复制到您的my-policies
目录中。首先,如果stable
文件夹包含community
中可用内容的副本,则首先从社区策略开始。运行以下命令:cp -R community/* my-policies/ cp -R stable/* my-policies/
现在,您在一个父目录结构中已有所有策略,您可以在 fork 中编辑策略。
提示:
- 最佳做法是删除您不打算使用的策略。
从以下列表中了解策略和策略定义:
- 用途:了解策略的作用。
补救操作:该策略是否仅告知您合规,还是强制执行策略并进行更改?请参阅
spec.remediationAction
参数。如果强制进行更改,请确保您了解功能预期。记得检查哪些策略支持执行。如需更多信息,请参阅 Validate 部分。注:策略的
spec.remediationAction
设置覆盖单个spec.policy-templates
中设置的任何补救操作。-
placement:策略部署到哪些群集?默认情况下,大多数策略都以带有
environment: dev
标签的集群为目标。有些策略可能针对 OpenShift Container Platform 集群或其他标签。您可以更新或添加附加标签来包括其他集群。如果没有特定值,策略会应用到所有集群。您还可以创建策略的多个副本并为每个副本自定义,如果您想要使用一组集群配置的一种策略,并为另一组集群配置另一种方式。