New to KubeDB? Please start here.
Weaviate Volume Expansion
This guide will give you an overview of how KubeDB Ops Manager expands the volume of a Weaviate cluster.
Before You Begin
- You should be familiar with the following
KubeDBconcepts:
How Volume Expansion Process Works
The volume expansion process consists of the following steps:
At first, a user creates a
WeaviateCR.KubeDBprovisioner operator watches for theWeaviateCR.When the operator finds a
WeaviateCR, it creates aPetSetand related necessary resources, and provisions aPersistentVolumeClaim(PVC) for each node.Then, in order to expand the volume of the
Weaviatecluster, the user creates aWeaviateOpsRequestCR with the desired volume size.KubeDBOps Manager watches for theWeaviateOpsRequestCR.When it finds one, it halts the
Weaviateobject so that theKubeDBprovisioner operator doesn’t perform any operation on theWeaviateduring the volume expansion process.Then the
KubeDBOps Manager expands the PVCs to reach the desired size. Volume expansion requires aStorageClassthat supports volume expansion (allowVolumeExpansion: true).After successfully expanding the PVCs, the
KubeDBOps Manager updates theWeaviateobject’s storage to reflect the updated state.After successfully updating the storage, the
KubeDBOps Manager resumes theWeaviateobject so that theKubeDBProvisioner operator resumes its usual operations.
Volume expansion can be performed in two modes:
- Online — the volume is expanded without restarting the pods (requires a CSI driver that supports online expansion).
- Offline — the pods are recreated to apply the expanded volume.
In the next doc, we are going to show a step-by-step guide on expanding the volume of a Weaviate cluster using the volume expansion operation.































