按照适用于您的部署类型的步骤,开始使用Kubernetes Operator(而不是MongoDB Enterprise Kubernetes Operator)管理MongoDB Enterprise和 MongoDB Ops Manager 部署。
对于大多数部署,从MongoDB Enterprise Operator 迁移到Kubernetes Operator
在大多数部署场景中,请按照以下步骤进行迁移。如果您使用 Operator Lifecycle 经理 (OLM)管理操作符部署(通常在OpenShift集群上),请参阅这些步骤。
升级到 v1.33 的MongoDB Enterprise Kubernetes Operator。
有关从早期版本的 Kubernetes 操作符 升级到 v1.33 的说明,请参阅 升级指南。
如果跨多个Kubernetes集群部署资源,请执行以下两个任务:
备份
kubectl插件二进制文件。这样,在遇到问题时,您可以更轻松地反向迁移到Kubernetes Operator。按照多集群设置文档配置(确保使用Kubernetes Operator发布的MongoDB控制器中的
kubectl插件)或手动使用 Helm 模板来配置成员集群。重要
在步骤 5 中部署Kubernetes Operator 之前,必须将Kubernetes Operator 的 RBAC 部署到成员集群。新的 RBAC 资源以
mongodb-kubernetes-operator-开头。您还必须确保在运行最新版本的kubectl插件二进制文件后,您的操作符集群上存在mongodb-kubernetes-operator-member-list。
手动安装Kubernetes Operator CRD。
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.1.0/public/crds.yaml
要验证Kubernetes集群上是否安装了 CRD,搜索mongodbcommunity CRD:
提示
MongoDB Ops Manager和MongoDB Enterprise的自定义资源名称在Kubernetes Operator 中没有更改。 尽管您可能没有部署MongoDB Community资源,但搜索 mongodbcommunity 自定义资源是验证Kubernetes Operator 安装的最简单方法。
kubectl get crds | grep mongodbcommunity
安装新的Kubernetes Operator Helm 图表。
警告
如果您覆盖了Enterprise Kubernetes Operator部署的默认Helm 图表值,则不应为Kubernetes Operator部署使用相同的值,因为资源名称可能会发生冲突并阻止迁移成功。
helm repo add mongodb https://mongodb.github.io/helm-charts && \ helm repo update && \ helm upgrade --install mongodb-kubernetes-operator mongodb/mongodb-kubernetes --namespace <your-namespace>
等待资源协调(达到 Running 阶段)并恢复正常。
Kubernetes Operator默认部署一个操作符副本。如果要运行多个副本,请参阅 https://github.com/mongodb/mongodb-kubernetes/blob/master/public/mongodb-kubernetes.yaml#L263 以了解有关扩展操作符的详细信息。
使用OpenShift或其他平台上的 Operator Lifecycle 经理 (OLM) 从MongoDB Enterprise Kubernetes Operator 迁移到Kubernetes Operator
要从MongoDB Enterprise Kubernetes Operator迁移到使用 OLM 的Kubernetes Operator(这是OpenShift集群上的典型部署方法,但在其他Kubernetes平台上也是可行的),请卸载旧操作符 ,然后安装新 Operator:
重要
删除Enterprise Kubernetes Operator不会影响您部署到Kubernetes 的数据库和MongoDB Ops Manager资源。迁移进程不会影响您的工作负载。
从集群上的可用目录安装Kubernetes Operator。
Kubernetes Operator 可在 Red Hat 的认证 Operator 目录和 Operatorhub.io 目录中找到。
kubectl create -f <path-to-bundle>
从Community Kubernetes Operator迁移到Kubernetes Operator
请参阅以下资源,学习;了解如何迁移到Kubernetes Operator: