You are looking at the documentation of a prior release. To read the documentation of the latest release, please
visit here.
New to KubeDB? Please start here.
Upgrading MongoDB version Overview
This guide will give you an overview on how KubeDB Ops-manager operator upgrade the version of MongoDB
database.
Before You Begin
- You should be familiar with the following
KubeDB
concepts:
How Upgrade Process Works
The following diagram shows how KubeDB Ops-manager operator used to upgrade the version of MongoDB
. Open the image in a new tab to see the enlarged version.
The upgrading process consists of the following steps:
At first, a user creates a
MongoDB
Custom Resource (CR).KubeDB
Provisioner operator watches theMongoDB
CR.When the operator finds a
MongoDB
CR, it creates required number ofStatefulSets
and related necessary stuff like secrets, services, etc.Then, in order to upgrade the version of the
MongoDB
database the user creates aMongoDBOpsRequest
CR with the desired version.KubeDB
Ops-manager operator watches theMongoDBOpsRequest
CR.When it finds a
MongoDBOpsRequest
CR, it halts theMongoDB
object which is referred from theMongoDBOpsRequest
. So, theKubeDB
Provisioner operator doesn’t perform any operations on theMongoDB
object during the upgrading process.By looking at the target version from
MongoDBOpsRequest
CR,KubeDB
Ops-manager operator updates the images of all theStatefulSets
. After each image update, the operator performs some checks such as if the oplog is synced and database size is almost same or not.After successfully updating the
StatefulSets
and theirPods
images, theKubeDB
Ops-manager operator updates the image of theMongoDB
object to reflect the updated state of the database.After successfully updating of
MongoDB
object, theKubeDB
Ops-manager operator resumes theMongoDB
object so that theKubeDB
Provisioner operator can resume its usual operations.
In the next doc, we are going to show a step by step guide on upgrading of a MongoDB database using upgrade operation.