New to KubeDB? Please start here.
Hazelcast Volume Expansion
This guide will give an overview on how KubeDB Ops-manager operator expand the volume of Hazelcast
cluster members.
Before You Begin
- You should be familiar with the following
KubeDB
concepts:
How Volume Expansion Process Works
The following diagram shows how KubeDB Ops-manager operator expand the volumes of Hazelcast
database components. Open the image in a new tab to see the enlarged version.
The Volume Expansion process consists of the following steps:
At first, a user creates a
Hazelcast
Custom Resource (CR).KubeDB
Provisioner operator watches theHazelcast
CR.When the operator finds a
Hazelcast
CR, it creates required number ofstatefulsets
and related necessary stuff like secrets, services, etc.Each statefulset creates a Persistent Volume according to the Volume Claim Template provided in the statefulset configuration. This Persistent Volume will be expanded by the
KubeDB
Ops-manager operator.Then, in order to expand the volume of the
Hazelcast
database the user creates aHazelcastOpsRequest
CR with desired information.KubeDB
Ops-manager operator watches theHazelcastOpsRequest
CR.When it finds a
HazelcastOpsRequest
CR, it pauses theHazelcast
object which is referred from theHazelcastOpsRequest
. So, theKubeDB
Provisioner operator doesn’t perform any operations on theHazelcast
object during the volume expansion process.Then the
KubeDB
Ops-manager operator will expand the related PersistentVolumeClaims to reach the expected size defined in theHazelcastOpsRequest
CR.After the successful expansion of the related PersistentVolumeClaims, the
KubeDB
Ops-manager operator updates the related statefulset so that the new volumes can be mounted.After successfully updating statefulsets, the
KubeDB
Ops-manager operator resumes theHazelcast
object so that theKubeDB
Provisioner operator resumes its usual operations.
In the next docs, we are going to show a step by step guide on expanding volume of various Hazelcast cluster members using HazelcastOpsRequest
CRD.