应用 OPA Gatekeeper 策略
为了控制、审计和调试您的生产部署,您可以使用以下策略Gatekeeper Open Policy Agent (OPA)。Gatekeeper 包含用于通过 CustomResourceDefinitions 创建和扩展部署约束的 约束模板
使用 Gatekeeper 策略控制您的部署
的Kubernetes 运营商提供了一系列可自定义并应用于您部署的门卫策略列表。
每个门卫策略包括
<策略名称>.yaml
文件constraints.yaml
文件,基于约束模板
您可以使用二进制和可配置的门卫策略
二进制策略允许或阻止特定的配置,例如阻止不使用TLS的部署,或者仅部署特定版本的MongoDB或Ops Manager版本。
可配置策略允许您指定配置,例如为特定版本的MongoDB或自定义资源部署的副本集总数。Ops Manager
要使用和将门卫示例策略应用于Kubernetes 运营商:
安装OPA门卫在您的Kubernetes集群上。
查看可用的约束模板和约束列表
kubectl get constrainttemplates kubectl get constraints 导航到策略目录,从列表中选择一个策略并应用它及其约束文件
cd <policy_directory> kubectl apply -f <policy_name>.yaml kubectl apply -f constraints.yaml 查看当前已应用的门卫策略
kubectl get constrainttemplates kubectl get contstraints
示例OPA门卫策略列表
的Kubernetes 运营商提供了以下示例策略,可在OPA 示例 GitHub 目录
位置 | 策略描述 |
---|---|
阻止所有 MongoDB 和Ops Manager资源。这允许您使用日志输出来创建自己的策略。欲了解更多信息,请参阅Gatekeeper 调试。 | |
允许仅部署 MongoDB 资源的副本集,并阻止部署分片集群。 | |
允许仅部署特定的 MongoDB 版本。 | |
允许仅部署特定的Ops Manager版本。 | |
允许在 MongoDB 部署中使用严格 TLS 模式。 | |
允许部署指定数量的Ops Manager副本集和应用程序数据库成员。 | |
允许以非交互式模式安装Ops Manager。 |