Docs 菜单
Docs 主页
/
MongoDB Enterprise Kubernetes Operator
/

为 Ops Manager 资源配置可查询备份

在此页面上

  • 先决条件
  • 步骤
  • kubectl 配置为默认命名空间。
  • 创建用于备份的 PEM 文件。
  • 创建包含 PEM 文件的密钥。
  • 配置 Ops Manager 自定义资源以使用密钥。
  • 保存 Ops Manager 配置文件。
  • 将更改应用于 Ops Manager 部署。
  • 追踪已挂载卷和密钥的状态。
  • 禁用可查询备份
  • 更新MongoDB Ops Manager自定义资源。
  • 保存MongoDB Ops Manager自定义资源。
  • 将更改应用于MongoDB Ops Manager自定义资源。
  • 导航到MongoDB Ops Manager备份设置。
  • 删除 PEM 文件
  • 重新启动 Web MongoDB Server以使更改生效。

MongoDB Ops Manager您可以为在Kubernetes Operator 中部署的 资源配置 可查询备份 。

注意

在 Ops Manager 文档中,可查询备份也称为可查询快照或可查询恢复。

可查询备份允许您对 资源中的特定备份快照 运行查询MongoDB Ops Manager 。查询MongoDB Ops Manager备份可帮助您比较不同快照中的数据,并确定用于恢复数据的最佳快照。

在以下过程中,您将:

  • 创建Queryable.pem文件,其中包含用于访问要查询的备份快照的证书。

  • 创建包含queryable.pem文件的密钥。

  • 配置 Ops Manager 自定义资源以使用密钥进行可查询备份。

  • 保存并应用 Ops Manager 自定义资源配置。

一旦Kubernetes Operator 为其自定义资源部署更新后的配置, MongoDB Ops Manager就可以从 spec.backup.queryableBackupSecretRef.name参数中读取密钥。 您现在可以访问权限备份快照并对其运行查询。

在配置可查询备份之前,请完成以下任务:

1

如果您尚未执行,请运行以下命令,执行所创建命名空间的所有 kubectl 命令。

注意

MongoDB Ops Manager如果要在多 Kubernetes 集群 部署中部署MongoDB 资源:

  • context 设置为中心集群的名称,例如:kubectl config set context "$MDB_CENTRAL_CLUSTER_FULL_NAME"

  • --namespace设置为您用于多 Kubernetes 集群 MongoDB 部署的相同范围,例如: kubectl config --namespace "mongodb"

kubectl config set-context $(kubectl config current-context) --namespace=<metadata.namespace>
2

创建MongoDB Ops Manager queryable.pem文件,根据部署的 TLS要求,使用该文件访问和查询备份。 PEM 文件包含公钥证书及其关联的私钥,在MongoDB Ops Manager中访问和运行备份快照时需要这些证书。

要了解有关 PEM 文件要求的更多信息,请参阅MongoDB Ops Manager中的授权和身份验证要求。

3

运行以下命令,使用上一步中创建的Queryable.pem文件创建密钥:

kubectl create secret generic queryable-pem --from-file=./queryable.pem

如果您使用 HashiCorp Vault 作为密钥存储工具,则可以改为创建保管库密钥。

要了解有关 Secret 存储的选项,请参阅配置 Secret 存储。

4

配置spec.backup.queryableBackupSecretRef.name以引用queryable.pem密钥。

1 apiVersion: mongodb.com/v1
2 kind: MongoDBOpsManager
3 metadata:
4 name: ops-manager
5 spec:
6 replicas: 1
7 version: 6.0.0
8 adminCredentials: ops-manager-admin-secret
9 backup:
10 enabled: true
11 queryableBackupSecretRef:
12 name: om-queryable-pem
5
6

对 Ops Manager 资源定义的文件名调用以下kubectl命令:

kubectl apply -f <opsmgr-resource>.yaml

当您将更改应用于 Ops Manager 资源定义时,Kubernetes 会更新 Ops Manager StatefulSet、创建卷并挂载密钥。

7
  1. 获取持久卷声明列表:

    kubectl get pvc
  2. 获取密钥:

    kubectl get secrets
  3. 检查你的 Ops Manager 资源的状态:

    kubectl get om <resource-name> -o yaml -w

    -w标志的意思是“观看”。 设置“watch”标志后,输出会在配置更改时立即刷新,直到状态阶段达到Running状态。

    要了解有关资源部署状态的更多信息,请参阅Kubernetes 操作符故障排除。

配置可查询备份后,您可以对其进行查询以选择用于恢复数据的最佳备份快照。

如果您要求 MongoDB 部署中的所有容器都是完全静态的,最佳实践是禁用可查询备份。 这样 备份守护程序服务 就不会尝试从 下载MongoDB MongoDB Ops Manager二进制文件。下载二进制文件会破坏静态容器的不变性,并且只能在非静态容器中进行。 要了解更多信息,请参阅静态容器(公共预览版)。

要禁用可查询备份,请执行以下操作:

1

MongoDBOpsManager自定义资源中,将spec.configuration.mms.featureFlag.backup.queryablespec.configuration.mms.featureFlag.backup.wt.queryable设置为disabled

1apiVersion: mongodb.com/v1
2kind: MongoDBOpsManager
3metadata:
4 name: opsmgr-resource
5spec:
6 configuration:
7 mms.featureFlag.backup.wt.queryable: "disabled"
8 mms.featureFlag.backup.queryable: "disabled"
2
3

对 Ops Manager 资源定义的文件名调用以下kubectl命令:

kubectl apply -f <opsmgr-resource>.yaml
4

在MongoDB Ops Manager用户界面中,单击右上角的 Admin。 在Admin屏幕中,单击General Ops Manager Config Backup

5

导航至Queryable Snapshot Configuration部分并删除Proxy Server PEM File

6