如果部署 Kubernetes 操作符 的 Kubernetes 集群发生故障,您首先需要恢复 Kubernetes 操作符。为此,请按照以下步骤在单独的健康 Kubernetes 集群上部署和配置 Kubernetes Operator。然后,将 Kubernetes Operator 重新部署到健康的 Kubernetes 集群后,您可以按照这些恢复步骤进行操作。
如果您的 MongoDB Ops Manager 实例也部署在您的 中央集群中,请按照这些步骤重新部署到健康的 Kubernetes 集群。
步骤
重新部署Kubernetes Operator。
您可以像最初一样,按照本指南在独立的、正常运行的Kubernetes集群上安装Kubernetes Operator。
为多集群部署配置Kubernetes Operator 和Kubernetes集群。
使用 kubectl mongodb multicluster setup 命令设立凭证、角色和权限,并为操作符创建 mongodb-kubernetes-operator-member-list 配置映射。
请参阅了解Kubernetes角色和角色绑定以学习;了解更多信息。
恢复Kubernetes Operator部署状态。
MongoDB资源:如果关注 GitOps,则应用备份或 Git存储库中的 yaml 文件。
恢复MongoDB资源引用的以下配置映射和密钥:
spec.credentials(密钥)spec.opsManager.configMapRef.name
恢复名为
<resource-name>-state的部署状态配置映射。Kubernetes Operator 需要此配置映射才能正确协调MongoDB 数据库。它由Kubernetes Operator 在运行时动态创建。为了恢复它,您必须事先设立一个单独的进程来定期备份此配置映射。
如果无法从备份中恢复此配置映射,请在继续执行恢复步骤之前联系MongoDB支持部门。
重新创建 TLS 证书和相关 TLS 密钥。您可以手动创建它们,也可以使用 Cert-Manager 创建它们。请注意,如果恢复的 TLS 证书发生更改(重新颁发),则副本集自动化可能会执行 TLS 证书轮换过程。
使用有效的Kubernetes Operator部署继续恢复进程。
执行上述步骤后,请按照本指南中的步骤继续恢复进程。