为 Ops Manager 配置 KMIP 备份加密
MongoDB Ops Manager可以加密备份作业。 您可以使用Kubernetes Operator 为 配置 KMIP MongoDB Ops Manager备份加密。要了解更多信息,请参阅加密备份快照。
限制
对于同一Kubernetes Operator实例不同时管理 MongoDBOpsManager 和 MongoDB 自定义资源的部署,您必须在 MongoDBOpsManager 自定义资源中手动配置 KMIP 备份加密客户端设置。此要求涉及包含每个MongoDB数据库的客户端证书,您可以通过覆盖MongoDB Ops Manager Pod 的 StatefulSet 以挂载证书来实现这一点。 要学习;了解更多信息,请参阅手动配置 KMIP 备份加密。
步骤
1
创建 CA 的 ConfigMap。
运行以下命令:
kubectl -n mongodb create configmap mongodb-kmip-certificate-authority-pem --from-file=ca-pem
2
配置Ops Manager自定义资源以使用 KMIP 备份加密。
配置 spec.backup.encryption.kmip
设置。
1 apiVersion: mongodb.com/v1 2 kind: MongoDBOpsManager 3 metadata: 4 name: om-backup-kmip 5 spec: 6 replicas: 1 7 version: 6.0.0 8 adminCredentials: ops-manager-admin-secret 9 backup: 10 encryption: 11 kmip: 12 server: 13 url: kmip.corp.mongodb.com:5696 14 ca: mongodb-kmip-certificate-authority-pem
6
创建 密钥 客户端证书和私钥。
运行以下命令:
kubectl -n mongodb create secret tls mongodb-kmip-client-pem-my-replica-set-client-kmip \ --cert=<path-to-cert-file> \ --key=<path-to-key-file>
客户端证书 密钥 名称具有从MongoDB
CustomResourceDefinition 推断的以下命名约定 :
<clientCertificatePrefix>-<objectMeta.name>-client-kmip
clientCertificatePrefix | spec.backup.encryption.kmip.client.clientCertificatePrefix 在MongoDB CustomResourceDefinition 的 字段中指定的人类可读标签 。 |
objectMeta.name | |
client-kmip | 修复 Kubernetes 操作符 假定的后缀。 |
要了解更多信息,请参阅 kubernetes.io/tls。
7
配置你的 MongoDB database 数据库部署。
配置spec.backup.encryption.kmip
设置。
1 apiVersion: mongodb.com/v1 2 kind: MongoDB 3 metadata: 4 name: my-replica-set 5 spec: 6 members: 3 7 version: 4.0.20 8 type: ReplicaSet 9 backup: 10 encryption: 11 kmip: 12 client: 13 clientCertificatePrefix: mongodb-kmip-client-pem
9