Upgrade the MongoDB Enterprise Kubernetes Operator
On this page
The following procedure outlines how to upgrade the Kubernetes Operator to its latest version.
Note
In Kubernetes Operator 1.20, the container registry changed for the application database image and the images use a new tag suffix. When you upgrade the Kubernetes Operator, the Kubernetes Operator automatically updates the earlier suffix, -ent
, for all images that reference the new container registry to -ubi8
or the suffix set in MDB_IMAGE_TYPE or mongodb.imageType.
For example, the Kubernetes Operator changes quay.io/mongodb/mongodb-enterprise-server:4.4.5-ent
to quay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8
.
To stop the Kubernetes Operator from automatically updating the suffix, set MDB_APPDB_ASSUME_OLD_FORMAT or mongodb.appdbAssumeOldFormat to true
. For example, you might want to stop the automatic suffix change if you're mirroring this image from your own repository.
Upgrade using Kubernetes
The following steps depend on how your environment is configured:
Upgrade the CustomResourceDefinitions for MongoDB deployments.
Invoke the following kubectl command:
kubectl replace -f crds.yaml
Optional: Customize the Kubernetes Operator YAML before upgrading it.
To learn about optional Kubernetes Operator installation settings, see Operator kubectl and oc Installation Settings.
If you are upgrading the Operator to version 1.13.0 or later, specify the spec.opsManager.configMapRef.name
or the spec.cloudManager.configMapRef.name
settings:
Open the MongoDB Database Resource Specification in the editor of your choice.
Add the value to the
spec.opsManager.configMapRef.name
setting or thespec.cloudManager.configMapRef.name
setting and save the specification.
To learn more, see Changes to the MongoDB Resource.
Update to the latest version of the MongoDB Helm Charts for Kubernetes.
helm repo update mongodb https://mongodb.github.io/helm-charts
If you are upgrading the Operator to version 1.13.0 or later, specify the spec.opsManager.configMapRef.name
or the spec.cloudManager.configMapRef.name
settings:
Open the MongoDB Database Resource Specification in the editor of your choice.
Add the value to the
spec.opsManager.configMapRef.name
setting or thespec.cloudManager.configMapRef.name
setting and save the specification.
To learn more, see Changes to the MongoDB Resource.
Optional: Customize your Helm Chart before upgrading it.
To learn about optional Kubernetes Operator installation settings, see Operator Helm Installation Settings.
To upgrade the Kubernetes Operator on a host not connected to the Internet:
If you are upgrading the Operator to version 1.13.0 or later, specify the spec.opsManager.configMapRef.name
or the spec.cloudManager.configMapRef.name
settings:
Open the MongoDB Database Resource Specification in the editor of your choice.
Add the value to the
spec.opsManager.configMapRef.name
setting or thespec.cloudManager.configMapRef.name
setting and save the specification.
To learn more, see Changes to the MongoDB Resource.
Optional: Customize your Helm Chart before upgrading it.
To learn about optional Kubernetes Operator installation settings, see Operator Helm Installation Settings.
Upgrade to the latest version of the Kubernetes Operator.
Invoke the following helm upgrade
command.
Use the registry.pullPolicy=IfNotPresent
setting. To learn
about optional Kubernetes Operator installation settings, see
Operator Helm Installation Settings.
helm upgrade enterprise-operator mongodb/enterprise-operator \ --set registry.pullPolicy='IfNotPresent'
Upgrade using OpenShift
The following steps depend on how your environment is configured:
Upgrade the CustomResourceDefinitions for MongoDB deployments.
Invoke the following oc command:
oc replace -f crds.yaml
Optional: Customize the Kubernetes Operator YAML before upgrading it.
To learn about optional Kubernetes Operator installation settings, see Operator kubectl and oc Installation Settings.
If you are upgrading the Operator to version 1.13.0 or later, specify the spec.opsManager.configMapRef.name
or the spec.cloudManager.configMapRef.name
settings:
Open the MongoDB Database Resource Specification in the editor of your choice.
Add the value to the
spec.opsManager.configMapRef.name
setting or thespec.cloudManager.configMapRef.name
setting and save the specification.
To learn more, see Changes to the MongoDB Resource.
Upgrade to the new version of the Kubernetes Operator.
Invoke the following oc command:
oc apply -f mongodb-enterprise-openshift.yaml
Update to the latest version of the MongoDB Helm Charts for Kubernetes.
helm repo update mongodb https://mongodb.github.io/helm-charts
If you are upgrading the Operator to version 1.13.0 or later, specify the spec.opsManager.configMapRef.name
or the spec.cloudManager.configMapRef.name
settings:
Open the MongoDB Database Resource Specification in the editor of your choice.
Add the value to the
spec.opsManager.configMapRef.name
setting or thespec.cloudManager.configMapRef.name
setting and save the specification.
To learn more, see Changes to the MongoDB Resource.
Optional: Customize your Helm Chart before upgrading it.
To learn about optional Kubernetes Operator installation settings, see Operator Helm Installation Settings.
Upgrade the Kubernetes Operator.
Invoke the following helm upgrade
command.
Use values-openshift.yaml settings. To learn
about optional Kubernetes Operator installation settings, see
Operator Helm Installation Settings.
helm upgrade enterprise-operator mongodb/enterprise-operator \ --values https://raw.githubusercontent.com/mongodb/helm-charts/main/charts/enterprise-operator/values-openshift.yaml
To upgrade the Kubernetes Operator on a host not connected to the Internet:
If you are upgrading the Operator to version 1.13.0 or later, specify the spec.opsManager.configMapRef.name
or the spec.cloudManager.configMapRef.name
settings:
Open the MongoDB Database Resource Specification in the editor of your choice.
Add the value to the
spec.opsManager.configMapRef.name
setting or thespec.cloudManager.configMapRef.name
setting and save the specification.
To learn more, see Changes to the MongoDB Resource.
Optional: Customize your Helm Chart before upgrading it.
To learn about optional Kubernetes Operator installation settings, see Operator Helm Installation Settings.
Upgrade to the latest version of the Kubernetes Operator.
Invoke the following helm upgrade
command:
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
Use the values-openshift.yaml
settings, registry.pullPolicy=IfNotPresent
, and
registry.imagePullSecrets=<openshift-pull-secret>
. To learn
about optional Kubernetes Operator installation settings, see
Operator Helm Installation Settings.
To troubleshoot your Kubernetes Operator, see Review Logs from the Kubernetes Operator and other troubleshooting topics.
Important
If you need to remove the Kubernetes Operator or the namespace, you first must remove MongoDB resources.