New to KubeDB? Please start here.
updating RabbitMQ version Overview
This guide will give you an overview on how KubeDB Ops-manager operator update the version of RabbitMQ
database.
Before You Begin
- You should be familiar with the following
KubeDB
concepts:
How update version Process Works
The following diagram shows how KubeDB Ops-manager operator used to update the version of RabbitMQ
. Open the image in a new tab to see the enlarged version.
The updating process consists of the following steps:
At first, a user creates a
RabbitMQ
Custom Resource (CR).KubeDB
Provisioner operator watches theRabbitMQ
CR.When the operator finds a
RabbitMQ
CR, it creates required number ofPetSets
and other kubernetes native resources like secrets, services, etc.Then, in order to update the version of the
RabbitMQ
database the user creates aRabbitMQOpsRequest
CR with the desired version.KubeDB
Ops-manager operator watches theRabbitMQOpsRequest
CR.When it finds a
RabbitMQOpsRequest
CR, it halts theRabbitMQ
object which is referred from theRabbitMQOpsRequest
. So, theKubeDB
Provisioner operator doesn’t perform any operations on theRabbitMQ
object during the updating process.By looking at the target version from
RabbitMQOpsRequest
CR,KubeDB
Ops-manager operator updates the images of all thePetSets
. 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
PetSets
and theirPods
images, theKubeDB
Ops-manager operator updates the image of theRabbitMQ
object to reflect the updated state of the database.After successfully updating of
RabbitMQ
object, theKubeDB
Ops-manager operator resumes theRabbitMQ
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 updating of a RabbitMQ database using updateVersion operation.