对具有多个 Kubernetes 集群的部署进行故障排除
MongoDB Enterprise Kubernetes Operator 已弃用。未来不会有任何版本。根据 支持政策,每个版本都将终止支持。 MongoDB Controllers for Kubernetes Operator 中提供了其所有功能。请迁移到Kubernetes Operator 的控制器以获得持续支持。
要对多 Kubernetes 集群 MongoDB 部署进行故障排除,请使用本节中的程序。
从 Kubernetes 集群故障中恢复
此过程使用与先决条件中相同的集群名称。 如果保存MDB_CLUSTER_1
MongoDB 节点的集群 Go,并且您预配一个名为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
故障而创建的。要了解有关资源协调的更多信息,请参阅部署架构和图表。