MongoDB Enterprise Kubernetes Operator 已弃用。新的 MongoDB Controllers for Kubernetes Operator 取代了MongoDB Enterprise Kubernetes Operator。第一个版本的 Controllers for Kubernetes Operator 在功能上等同于 v1.33 的Enterprise Kubernetes Operator。有关此更改的更多信息以及迁移到新 Operator 的指导,请参阅第一个新版本的发布说明。MongoDB Enterprise 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
故障而创建的。要了解有关资源协调的更多信息,请参阅部署架构和图表。