对具有多个 Kubernetes 集群的部署进行故障排除
在此页面上
要对多 Kubernetes 集群 MongoDB 部署进行故障排除,请使用本节中的程序。
从 Kubernetes 集群故障中恢复
此过程使用与先决条件中相同的集群名称。 如果保存MongoDB节点的集群 MDB_CLUSTER_1
出现故障,并且您预配一个名为MDB_CLUSTER_4
而不是MDB_CLUSTER_1
的新集群来保存新的MongoDB节点,请使用更新的节点列表运行MongoDB kubectl 插件集群,然后编辑中央集群上的MongoDBMultiCluster
资源规范。
要在集群故障后重新配置多 Kubernetes 集群 MongoDB 部署,请用新预配的集群替换出现故障的 Kubernetes 集群,如下所示:
使用
recover
参数和-member-clusters
选项中指定的新集群MDB_CLUSTER_4
运行MongoDB kubectl 插件。 这使 Kubernetes Operator 能够与新集群通信,从而在其上调度 MongoDB 节点。 在以下示例中,-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}" 在中央集群上,找到并编辑
MongoDBMultiCluster
资源规范,将新集群名称添加到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 重新启动 Kubernetes Operator Pod。 重启后,Kubernetes 操作符应在新创建的
MDB_CLUSTER_4
集群上协调 MongoDB 部署,该集群是您为替换MDB_CLUSTER_1
故障而创建的。要了解有关资源协调的更多信息,请参阅部署架构和图表。