Upgrade Milvus Standalone with Milvus Operator
This guide describes how to upgrade your Milvus standalone deployment 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 standalone 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 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 standalone
2.1 Upgrade to v2.5.16
Skip this step if your standalone deployment is already running v2.5.16 or higher.
Create a configuration file milvusupgrade.yaml
to upgrade to v2.5.16:
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release # Replace with your actual release name
spec:
components:
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.2 Upgrade to v2.6.0
Once v2.5.16 is running successfully, 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 standalone deployment is running the new version:
# Check pod status
kubectl get pods
For additional support, consult the Milvus documentation or community forum.