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

在 Operator 集群出现故障时恢复MongoDB Ops Manager

在此页面上

  • 恢复Kubernetes Operator 和MongoDB Ops Manager

如果托管Kubernetes KubernetesOperatorMongoDB Ops Manager 和 应用程序的 集群出现故障,您可以手动恢复 Operator 集群和MongoDB Ops Manager 应用程序。

要恢复MongoDB Ops Manager之前的运行状态,请为MongoDB Ops Manager和应用程序数据库资源配置定期备份机制。 Kubernetes Operator 需要这些资源来管理MongoDB Ops Manager应用程序部署。

要恢复 Kubernetes 操作符 和 Ops Manager,请在新的 Kubernetes 集群上恢复 Ops Manager 资源:

1

按照说明在新的Kubernetes集群中安装Kubernetes Operator

注意

如果计划重复使用成员集群,请确保存在适当的服务帐户和角色。 这些值可以重叠,并且在中央集群和成员集群之间具有不同的权限。

要查看Kubernetes Operator 所需的相应角色,请参阅公共存储库中的 示例。

2

复制MongoDB Ops Manager 对象 失败的 Manager资源名称和命名空间,并检索以下资源,将占位符文本替换为您的特定MongoDB Ops Manager 资源名称和命名空间。

资源类型
Values
秘密
  • <om-name>-db-om-password

  • <om-name>-db-agent-password

  • <om-name>-db-keyfile

  • <om-name>-db-om-user-scram-credentials

  • <om-namespace>-<om-name>-admin-key

  • <om-name>-admin-secret

  • <om-name>-gen-key

  • TLS证书密钥(可选)

ConfigMap
  • <om-name>-db-cluster-mapping

  • <om-name>-db-member-spec

  • TLS证书的自定义 CA(可选)

Ops Manager
  • <om-name>

然后,将复制的规范粘贴到新文件中,并使用前面的值配置新资源。 要了解更多信息,请参阅部署 Ops Manager 资源。

3

使用以下命令应用更新的资源:

kubectl apply \
--context "$MDB_CENTRAL_CLUSTER_FULL_NAME" \
--namespace "mongodb"
-f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/master/samples/ops-manager/ops-manager-external.yaml

要检查您的 Ops Manager 资源的状态,请使用以下命令:

kubectl get om -o yaml -w

一旦中央集群达到Running状态,您就可以将应用程序数据库重新扩展到所需的成员集群分布。

点,新恢复的Kubernetes Operator 应接管对现有应用程序数据库的管理。

  • 用于创建初始项目的ConfigMap

  • 上一个Kubernetes Operator 实例中使用的密钥。

  • MongoDB MongoDBMulticluster自定义资源 在源集群上的最后一个可用状态,包括任何 注释 由Kubernetes Operator 在其生命周期中添加。

注意

如果应用程序数据库副本集丢失了一些节点,无法形成投票多数,请强制重新配置副本集。 这会添加新的副本集节点,这些节点将形成投票多数,允许副本集选举主节点 (primary node in the replica set)节点。

后退

恢复可用集群