New to KubeDB? Please start here.
Overview of ZooKeeper Version Update
This guide will give you an overview on how KubeDB Ops-manager operator update the version of ZooKeeper
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 ZooKeeper
. 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
ZooKeeper
Custom Resource (CR).KubeDB
Provisioner operator watches theZooKeeper
CR.When the operator finds a
ZooKeeper
CR, it creates required number ofPetSets
and other kubernetes native resources like secrets, services, etc.Then, in order to update the version of the
ZooKeeper
database the user creates aZooKeeperOpsRequest
CR with the desired version.KubeDB
Ops-manager operator watches theZooKeeperOpsRequest
CR.When it finds a
ZooKeeperOpsRequest
CR, it halts theZooKeeper
object which is referred from theZooKeeperOpsRequest
. So, theKubeDB
Provisioner operator doesn’t perform any operations on theZooKeeper
object during the updating process.By looking at the target version from
ZooKeeperOpsRequest
CR,KubeDB
Ops-manager operator updates the images of all thePetSets
.After successfully updating the
PetSets
and theirPods
images, theKubeDB
Ops-manager operator updates the version field of theZooKeeper
object to reflect the updated state of the database.After successfully updating of
ZooKeeper
object, theKubeDB
Ops-manager operator resumes theZooKeeper
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 ZooKeeper database using updateVersion operation.