New to KubeDB? Please start here.
Weaviate Storage Autoscaling
This guide will give you an overview of how KubeDB autoscales the storage of a Weaviate cluster using a WeaviateAutoscaler.
Before You Begin
- You should be familiar with the following
KubeDBconcepts:
How Storage Autoscaling Works
KubeDB provides a WeaviateAutoscaler CRD to automatically expand the storage of a Weaviate cluster when the volumes start filling up. Storage autoscaling requires a StorageClass that supports volume expansion (allowVolumeExpansion: true).
The storage autoscaling process consists of the following steps:
The user creates a
WeaviateAutoscalerCR with aspec.storage.weaviateblock describing the trigger, the usage threshold, and the scaling factor.The
KubeDBAutoscaler operator watches the PVC usage of the Weaviate pods.When a volume’s used space crosses
usageThreshold(a percentage of the volume capacity), the Autoscaler operator creates aWeaviateOpsRequestof typeVolumeExpansion, increasing the volume size byscalingThresholdpercent.The
KubeDBOps Manager applies theVolumeExpansionops request, expanding the PVCs.
The relevant fields under spec.storage.weaviate are:
trigger—OnorOff, enables/disables storage autoscaling.usageThreshold— the percentage of used space that triggers expansion.scalingThreshold— the percentage by which the volume is expanded each time.expansionMode—OnlineorOffline.
In the next doc, we are going to show a step-by-step guide on autoscaling the storage of a Weaviate cluster.































