You are looking at the documentation of a prior release. To read the documentation of the latest release, please
visit here.
New to KubeDB? Please start here.
Horizontal Scaling Milvus
This guide will give an overview on how the KubeDB Ops-manager operator horizontally scales a Milvus database.
Before You Begin
- You should be familiar with the following
KubeDBconcepts:
How Horizontal Scaling Process Works
Horizontal scaling changes the number of replicas of the Milvus distributed roles.
Horizontal scaling is distributed-only. A
StandaloneMilvus is a single all-in-one workload and cannot be horizontally scaled — there is exactly one PetSet with one replica. To distribute load horizontally, deploy Milvus inDistributedmode.
A MilvusOpsRequest of type HorizontalScaling carries the desired replica counts under spec.horizontalScaling.topology, keyed by role:
spec:
type: HorizontalScaling
horizontalScaling:
topology:
proxy: 1
streamingnode: 1
# mixcoord / querynode / datanode are also supported by the API
The flow is:
- A user creates a
MilvusOpsRequestof typeHorizontalScaling. - The operator validates the request and pauses the
Milvusdatabase. - The operator updates the replica counts on the
Milvusobject and the per-role PetSets, then adds or removes pods to match. - The operator waits for the affected roles to become healthy.
- The operator resumes the database and marks the
MilvusOpsRequestasSuccessful.
The spec.horizontalScaling.topology API accepts proxy, mixcoord, querynode, streamingnode and dataNode. The sample used in the guide only scales proxy and streamingnode; the other roles are scaled the same way.
In the next doc, we will see a step-by-step guide on horizontally scaling a distributed Milvus database.































