文档菜单
文档首页
/
MongoDB 企业级 Kubernetes Operator
/

使用多个Kubernetes集群进行故障排除

本页内容

  • 从Kubernetes集群故障中恢复

要排查您的多Kubernetes集群MongoDB部署,请使用本节中的程序。

此过程使用与先决条件中相同的集群名称。如果包含MongoDB节点的集群MDB_CLUSTER_1 崩溃,并且您为新的MongoDB节点指定了名为 MDB_CLUSTER_4 的新集群而不是 MDB_CLUSTER_1,则运行具有更新后的成员集群列表的 MongoDB kubectl插件,然后编辑中央集群上的 MongoDBMultiCluster 资源spec。

在集群故障后重新配置多Kubernetes集群MongoDB部署后,将失败的Kubernetes集群替换为以下新配置的集群

  1. 使用带有 recover 参数和指定在 -member-clusters 选项中的新集群 MDB_CLUSTER_4 运行 MongoDB kubectl插件。这使 Kubernetes Operator 能够与新集群通信以在其上调度MongoDB节点。在以下示例中,-member-clusters 包含 ${MDB_CLUSTER_4_FULL_NAME}Kubernetes Operator。在以下示例中,-member-clusters 包含 ${MDB_CLUSTER_4_FULL_NAME}

    kubectl mongodb multicluster recover \
    --central-cluster="MDB_CENTRAL_CLUSTER_FULL_NAME" \
    --member-clusters="${MDB_CLUSTER_2_FULL_NAME},${MDB_CLUSTER_3_FULL_NAME},${MDB_CLUSTER_4_FULL_NAME}" \
    --member-cluster-namespace="mongodb" \
    --central-cluster-namespace="mongodb" \
    --operator-name=mongodb-enterprise-operator-multi-cluster \
    --source-cluster="${MDB_CLUSTER_2_FULL_NAME}"
  2. 在中央集群上,找到并编辑 MongoDBMultiCluster 资源spec,将新集群名称添加到 clusterSpecList 中,并从该列表中删除失败的Kubernetes集群。结果集群名称列表应类似于以下示例

    clusterSpecList:
    - clusterName: ${MDB_CLUSTER_4_FULL_NAME}
    members: 3
    - clusterName: ${MDB_CLUSTER_2_FULL_NAME}
    members: 2
    - clusterName: ${MDB_CLUSTER_3_FULL_NAME}
    members: 3
  3. 重启Kubernetes OperatorPod。重启后,Kubernetes Operator应该会协调在新建的 MDB_CLUSTER_4 集群上运行的MongoDB部署,该集群是用作 MDB_CLUSTER_1 故障的替代品。有关资源协调的更多信息,请参阅 部署架构和图表。

另请参阅 ConfigMap名称mongodb-enterprise-operator-member-list是硬编码的。

返回

插件参考