KubeBlocks
BlogsEnterprise
⌘K
​
Blogs
Open Source · Production-Grade · CNCF Graduated

KubeBlocks Milvus Operator for Kubernetes

Deploy production-grade Milvus vector database clusters in minutes. Standalone and distributed topologies, billion-scale ANN search, and full Day-2 operations.

Try Playground Free →Read the Docs

1B+

Vectors at Scale

< 1ms

ANN Search Latency

Deploy Milvus in 4 steps

1

Install KubeBlocks

# Add Helm repo
helm repo add kubeblocks https://apecloud.github.io/helm-charts
helm repo update

# Install KubeBlocks
helm install kubeblocks kubeblocks/kubeblocks \
  --namespace kb-system --create-namespace
2

Install Milvus Addon

helm upgrade -i kb-addon-milvus kubeblocks/milvus \
  -n kb-system
3

Create a Milvus Cluster

apiVersion: apps.kubeblocks.io/v1
kind: Cluster
metadata:
  name: milvus-cluster
  namespace: demo
spec:
  terminationPolicy: Delete
  topology: standalone
  componentSpecs:
    - name: milvus
      serviceVersion: "2.5.13"
      replicas: 1
4

Cluster is Ready

$ kubectl get cluster milvus-cluster -n demo
NAME                CLUSTER-DEF   STATUS    AGE
milvus-cluster               Running   2m

Trusted by Engineering Teams at Scale

BONC CloudBONC Cloud
China Mobile CloudChina Mobile Cloud
China Telecom CloudChina Telecom Cloud
TencentTencent
XiaomiXiaomi
Ping AnPing An
VIP.comVIP.com
KwaiKwai
Tiger BrokersTiger Brokers
CITIC SecuritiesCITIC Securities
SealOSSealOS
FastGPTFastGPT
KubeSphereKubeSphere
MomentaMomenta
360360
TilaaTilaa
OlaresOlares
Changan AutomobileChangan Automobile
State GridState Grid
BONC CloudBONC Cloud
China Mobile CloudChina Mobile Cloud
China Telecom CloudChina Telecom Cloud
TencentTencent
XiaomiXiaomi
Ping AnPing An
VIP.comVIP.com
KwaiKwai
Tiger BrokersTiger Brokers
CITIC SecuritiesCITIC Securities
SealOSSealOS
FastGPTFastGPT
KubeSphereKubeSphere
MomentaMomenta
360360
TilaaTilaa
OlaresOlares
Changan AutomobileChangan Automobile
State GridState Grid
Architecture

From Dev to Production. Same CRD API.

A single Milvus pod runs all coordinator and worker roles as goroutines within one process. etcd and MinIO are deployed as companion pods. Ideal for development, CI pipelines, and single-node deployments.

✓

Single pod runs all roles: Proxy, RootCoord, QueryCoord, DataCoord, IndexCoord, QueryNode, DataNode, IndexNode

✓

etcd and MinIO deployed as companion pods for metadata and object storage

✓

PVC-backed local segment cache for fast cold-start

✓

Minimal resource footprint — runs on a single Kubernetes node

✓

Same CRD API as distributed mode — switch topologies without application changes

All-in-One Pod
Dev & Test
Simple Setup
Application / Client
Milvus SDK (Python / Go / Java / Node) · gRPC or REST
Connect to {cluster}-milvus:19530
gRPC :19530 / metrics :9091
{cluster}-milvus
ClusterIP · :19530 (gRPC) · :9091 (metrics/health)
selector: all standalone pods
ClusterIP
milvus-standalone-0All-in-One
Container
milvus:19530 (gRPC) · :9091 (metrics)
All coordinator + worker roles run as goroutines within the single milvus process
Embedded Roles
RootCoord
QueryCoord
DataCoord
IndexCoord
QueryNode
DataNode
IndexNode
Proxy
PVC data-0 · local segment cache · 20Gi
metadata + object storage I/O
etcd-0
metadata · collection schemas · segment info
etcd:2379
PVC · 10Gi
minio-0
object storage · vectors · indexes · WAL
minio:9000
PVC · 20Gi
Standalone topologyall roles in one process · ideal for development and single-node deployments
Milvus (all-in-one)
Storage Components (etcd / MinIO)
Persistent Storage
Capabilities

Built for Production Milvus

KubeBlocks automates the hardest parts of running Milvus on Kubernetes — so your team doesn't have to.

Backup & Restore
Collection-level snapshot backups via milvus-backup. Export to S3-compatible object storage and restore to a new cluster at any time.
milvus-backup
Backup Timeline
Snapshot
00:00
Snapshot
08:00
Snapshot
16:00
Restore Target
20:17
1. Export Collectionsmilvus-backup exports collection data and indexes to S3
→
2. Upload to S3Backup stored in S3-compatible object storage
→
3. Restore ClusterNew Milvus cluster restored from any stored snapshot
✓ S3-Compatible Storage
Day-2 Operations

Every Operation Declared as a Kubernetes Resource

No SSH into pods, no shell scripts. Submit an OpsRequest and KubeBlocks handles the rest.

Scaling & Availability

✓

Horizontal Scaling

Scale querynode, datanode, indexnode, and proxy independently. All workers are stateless — scale out without data migration.

✓

Vertical Scaling

Resize CPU and memory for any Milvus component via OpsRequest with a rolling restart that keeps the cluster available.

✓

Volume Expansion

Expand PVCs for components that use persistent storage without pod restarts on supported storage classes.

✓

Rolling Restart

Controlled rolling restarts with health checks between each pod to maintain service availability.

✓

Stop / Start

Suspend the Milvus cluster to eliminate compute cost; resume with full state from MinIO and etcd.

Configuration & Data

✓

Dynamic Configuration

Tune Milvus parameters via OpsRequest — dataCoord settings, queryNode cache sizes, etcd endpoints — without full restarts.

✓

Version Upgrade

Rolling upgrades from 2.3.x to 2.5.x with component-ordered sequencing: workers first, proxy, then mixcoord.

✓

Prometheus Metrics

Per-component metrics exposed on port 9091; compatible with Prometheus and Grafana dashboards.

✓

Backup & Restore

Collection-level backup via milvus-backup (v0.5.9+); restore to a new cluster from any stored snapshot.

✓

Expose via LoadBalancer

Expose the gRPC proxy endpoint on port 19530 via a Kubernetes LoadBalancer service for external client access.

From the Blog

Go Deeper on Milvus on Kubernetes

KubeBlocks x Milvus: Kubernetes Operator Guide

KubeBlocks x Milvus: Kubernetes Operator Guide

Deploy standalone and cluster modes, integrate etcd/MinIO via Addons, and manage Day-2 operations with an operator-first approach.

We Let an AI Agent Manage Our Databases

We Let an AI Agent Manage Our Databases

We tested AI agents against traditional Kubernetes database operators — and why a unified API like KubeBlocks changes everything.

Deploy Production-Ready AIGC Applications with KubeBlocks and Dify

Deploy Production-Ready AIGC Applications with KubeBlocks and Dify

Build and deploy production-grade AIGC applications on Kubernetes with KubeBlocks managing PostgreSQL, Redis, and Qdrant.

Also on KubeBlocks

Apache Kafka Operator for Kubernetes →

Milvus 2.5+ supports Apache Kafka as its write-ahead log (WAL) for higher throughput streaming. KubeBlocks manages both Milvus and Kafka clusters — deploy the full AI data stack on a single operator.

Get Started

Get Started with KubeBlocks Milvus Operator, Risk-Free.

Open source and production-ready. Enterprise customers get dedicated onboarding, migration support, and SLA guarantees.

Try Playground Free →Talk to the Team
✓Open Source
✓Milvus & 35+ other engines
✓Production-grade HA
✓No vendor lock-in

© 2026 KUBEBLOCKS INC