Upgrade Milvus Cluster with Milvus Operator
This guide describes how to upgrade your Milvus cluster from v2.5.x to v2.6.0 using Milvus Operator.
Before you start
What’s new in v2.6.0
Upgrading from Milvus 2.5.x to 2.6.0 involves significant architectural changes:
- Coordinator consolidation: Legacy separate coordinators (
dataCoord
,queryCoord
,indexCoord
) have been consolidated into a singlemixCoord
- New components: Introduction of Streaming Node for enhanced data processing
- Component removal:
indexNode
removed and consolidated
This upgrade process ensures proper migration to the new architecture. For more information on architecture changes, refer to Milvus Architecture Overview.
Requirements
System requirements:
- Kubernetes cluster with Milvus deployed via Milvus Operator
kubectl
configured to access your cluster- Helm 3.x installed
Compatibility requirements:
- Milvus v2.6.0-rc1 is not compatible with v2.6.0. Direct upgrades from release candidates are not supported.
- If you are currently running v2.6.0-rc1 and need to preserve your data, please refer to this community guide for migration assistance.
- You must upgrade to v2.5.16 or later with
mixCoord
enabled before upgrading to v2.6.0.
Upgrade process
Step 1: Upgrade Milvus Operator
First, upgrade your Milvus Operator to v1.3.0:
helm repo add zilliztech-milvus-operator https://zilliztech.github.io/milvus-operator/
helm repo update zilliztech-milvus-operator
helm -n milvus-operator upgrade milvus-operator zilliztech-milvus-operator/milvus-operator
Verify the operator upgrade:
kubectl -n milvus-operator get pods
Step 2: Upgrade your Milvus cluster
2.1 Check current coordinator configuration
Check if your cluster already uses mixCoord
:
kubectl get pods
If you see separate coordinator pods (datacoord
, querycoord
, indexcoord
) instead, you need to enable mixCoord
in the next step.
2.2 Upgrade to v2.5.16 with mixCoord
Skip this step if your cluster is already running v2.5.16 or higher with mixCoord
enabled.
Create a configuration file milvusupgrade.yaml
to enable mixCoord
and upgrade to v2.5.16:
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release # Replace with your actual release name
spec:
components:
mixCoord:
replicas: 1
image: milvusdb/milvus:v2.5.16
Apply the configuration:
kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge
Wait for completion:
# Verify all pods are ready
kubectl get pods
2.3 Upgrade to v2.6.0
Once v2.5.16 is running successfully with mixCoord
, upgrade to v2.6.0:
Update your configuration file (milvusupgrade.yaml
in this example):
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release # Replace with your actual release name
spec:
components:
image: milvusdb/milvus:v2.6.0
Apply the final upgrade:
kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge
Verify the upgrade
Confirm your cluster is running the new version:
# Check pod status
kubectl get pods
For additional support, consult the Milvus documentation or community forum.