应用 OPA Gatekeeper 策略
在此页面上
要控制、Atlas 审核和调试生产部署,您可以使用 Gatekeeper 开放策略代理 (OPA) 的策略。Gatekeeper 包含 CustomResourceDefinitions,用于通过约束模板创建和扩展部署约束。
使用 Gatekeeper 策略控制部署
Kubernetes Operator 提供了Gatekeeper 策略列表,您可以自定义这些策略并将其应用到您的部署中。
每个 Gatekeeper 策略包括:
<policy_name>.yaml
文件constraints.yaml
基于 约束模板 的文件
您可以使用二进制和可配置的 Gatekeeper 策略:
二进制策略允许或阻止特定配置,例如阻止不使用 TLS 的部署,或仅部署特定的 MongoDB 或 Ops Manager 版本。
可配置策略允许您指定配置,例如为特定 MongoDB 或 Ops Manager 自定义资源部署的副本集总数。
要通过 Kubernetes 操作符 使用和应用 Gatekeeper 样本策略:
安装 OPA Gatekeeper 在 Kubernetes 集群上。
查看可用约束模板和约束的列表:
kubectl get constrainttemplates kubectl get constraints 导航到策略目录,从列表中选择策略并应用它及其约束文件:
cd <policy_directory> kubectl apply -f <policy_name>.yaml kubectl apply -f constraints.yaml 查看当前应用的 Gatekeeper 策略:
kubectl get constrainttemplates kubectl get contstraints
OPA Gatekeeper 策略示例列表
KubernetesOperator 在此 OPAGithub 示例 中提供了以下示例策略 目录:
地点 | 策略说明 |
---|---|
阻止所有MongoDB和MongoDB Ops Manager资源。 这允许您使用日志输出来制定自己的策略。 要了解更多信息,请参阅 Gatekeeper 调试。 | |
仅允许部署 MongoDB 资源的副本集并阻止部署分片集群。 | |
仅允许部署特定的 MongoDB 版本。 | |
仅允许部署特定 Ops Manager 版本。 | |
允许对 MongoDB 部署使用严格的 TLS 模式。 | |
允许部署指定数量的 Ops Manager 副本集和应用程序数据库成员。 | |
允许以非交互模式安装 Ops Manager。 |