升级 MongoDB Enterprise Kubernetes Operator
以下过程概述了如何将 Kubernetes 操作符升级到最新版本。
注意
在 Kubernetes Operator1 20中。 , 容器注册表 更改了 应用程序数据库 映像,并且映像使用新的标签后缀。 升级 Kubernetes Operator 时,Kubernetes Operator-ent
会自动将引用新容器注册表的所有映像的早期后缀 更新为-ubi8
或 MDB_IMAGE_TYPE 或 mongodb.imageType 中设置的后缀。
例如,Kubernetes 操作符 将quay.io/mongodb/mongodb-enterprise-server:4.4.5-ent
更改为quay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8
。
要阻止 Kubernetes 操作符 自动更新后缀,请将MDB_APPDB_ASSUME_OLD_FORMAT或MongoDB.appdbAssumeOldFormat设置为true
。例如,如果要从自己的存储库镜像此映像,则可能需要停止自动更改后缀。
警告
从1开始。 17 ,Kubernetes Operator 存在一个已知错误,如果映像存储库包含冒号 ( :
),则会导致升级过程失败。例如,使用repo:5000/myrepomongo
等存储库 URL 会导致升级失败。此问题影响版本1 。 17到1 。 19 。 0 。但是,它已固定在1中。 19 。 1 。
使用 Kubernetes 升级
以下步骤取决于环境的配置方式:
升级 CustomResourceDefinitions 用于 MongoDB 部署。
调用以下 kubectl 命令:
kubectl replace -f crds.yaml
可选:在升级 Kubernetes Operator YAML 之前对其进行自定义。
要了解可选的 Kubernetes Operator 安装设置,请参阅Operator kubectl 和 oc 安装设置。
注意
要启用静态容器的公共预览版以提高和简化安全性,请参阅静态容器(公共预览版) 。当此功能处于公共预览阶段时,我们不建议在生产中使用此功能。
更新到最新版本的 MongoDB Helm Charts for Kubernetes 。
helm repo update mongodb
可选:在升级 Helm Chart 之前对其进行自定义。
要了解可选的 Kubernetes 操作符 安装设置,请参阅操作符 Helm 安装设置。
注意
要启用静态容器的公共预览版以提高和简化安全性,请参阅静态容器(公共预览版) 。当此功能处于公共预览阶段时,我们不建议在生产中使用此功能。
要在未连接互联网的主机上升级 Kubernetes Operator,请执行以下操作:
可选:在升级 Helm Chart 之前对其进行自定义。
要了解可选的 Kubernetes 操作符 安装设置,请参阅操作符 Helm 安装设置。
注意
要启用静态容器的公共预览版以提高和简化安全性,请参阅静态容器(公共预览版) 。当此功能处于公共预览阶段时,我们不建议在生产中使用此功能。
升级到最新版本的 Kubernetes Operator。
调用以下helm upgrade
命令。使用registry.pullPolicy=IfNotPresent
设置。要了解可选的 Kubernetes Operator 安装设置,请参阅Operator Helm 安装设置。
helm upgrade enterprise-operator mongodb/enterprise-operator \ --set registry.pullPolicy='IfNotPresent'
使用 OpenShift 升级
以下步骤取决于环境的配置方式:
升级 CustomResourceDefinitions 用于 MongoDB 部署。
调用以下 oc 命令:
oc replace -f crds.yaml
可选:在升级 Kubernetes Operator YAML 之前对其进行自定义。
要了解可选的 Kubernetes Operator 安装设置,请参阅Operator kubectl 和 oc 安装设置。
注意
要启用静态容器的公共预览版以提高和简化安全性,请参阅静态容器(公共预览版) 。当此功能处于公共预览阶段时,我们不建议在生产中使用此功能。
升级到新版本的 Kubernetes 操作符。
调用以下 oc 命令:
oc apply -f mongodb-enterprise-openshift.yaml
更新到最新版本的 MongoDB Helm Charts for Kubernetes 。
helm repo update mongodb
可选:在升级 Helm Chart 之前对其进行自定义。
要了解可选的 Kubernetes 操作符 安装设置,请参阅操作符 Helm 安装设置。
注意
要启用静态容器的公共预览版以提高和简化安全性,请参阅静态容器(公共预览版) 。当此功能处于公共预览阶段时,我们不建议在生产中使用此功能。
升级 Kubernetes Operator。
调用以下helm upgrade
命令。使用 values-openshift.yaml 设置。要了解可选的 Kubernetes Operator 安装设置,请参阅 Operator Helm 安装设置。
helm upgrade enterprise-operator mongodb/enterprise-operator \ --values https://raw.githubusercontent.com/mongodb/helm-charts/main/charts/enterprise-operator/values-openshift.yaml
要在未连接互联网的主机上升级 Kubernetes Operator,请执行以下操作:
可选:在升级 Helm Chart 之前对其进行自定义。
要了解可选的 Kubernetes 操作符 安装设置,请参阅操作符 Helm 安装设置。
注意
要启用静态容器的公共预览版以提高和简化安全性,请参阅静态容器(公共预览版) 。当此功能处于公共预览阶段时,我们不建议在生产中使用此功能。
升级到最新版本的 Kubernetes Operator。
调用以下 helm upgrade
命令:
helm upgrade enterprise-operator mongodb/enterprise-operator \ --set registry.pullPolicy='IfNotPresent' \ --set registry.imagePullSecrets='<openshift-pull-secret>' \ --values https://raw.githubusercontent.com/mongodb/helm-charts/main/charts/enterprise-operator/values-openshift.yaml
使用 values-openshift.yaml 设置、registry.pullPolicy=IfNotPresent
和registry.imagePullSecrets=<openshift-pull-secret>
。要了解可选的 Kubernetes Operator 安装设置,请参阅 Operator Helm 安装设置。
要对 Kubernetes 操作符进行故障排除,请参阅查看 Kubernetes 操作符的日志和其他故障排除主题。
重要
如果需要删除 Kubernetes 操作符 或命名空间,则必须首先删除 MongoDB 资源。