Upgrade Milvus Standalone with Helm Chart

This guide describes how to upgrade your Milvus 2.6.x standalone deployment to v3.0.1 using Helm.

This procedure has been validated from Milvus 2.6.20 to Milvus v3.0.1 with Milvus Helm Chart 5.0.22. If you use another Milvus 2.6.x patch release or Helm Chart version, validate the upgrade in a non-production environment first.

Prerequisites

  • Helm 3.14.0 or later
  • An existing Milvus 2.6.x deployment managed by Helm
  • The Helm values used for the existing deployment
  • A current backup of Milvus metadata and persistent data

Message Queue limitations: When upgrading to Milvus v3.0.1, you must maintain your current message queue choice. Switching between different message queue systems during the upgrade is not supported. Support for changing message queue systems will be available in future versions.

Do not change or downgrade the Helm Chart as part of this procedure. Keep the Chart version already installed for your Helm release. The tested baseline retained Helm Chart 5.0.22 and changed only the Milvus image tag to v3.0.1.

This procedure does not validate a downgrade or rollback by changing the Milvus image back to 2.6.x. After v3.0.1 writes data, an image-only rollback can fail to read the updated state. If the upgrade fails, stop writes and use a recovery plan that restores the pre-upgrade metadata and persistent data backups. Validate the recovery plan in a non-production environment first.

Upgrade process

Step 1: Update the Helm repository

Add or update the Milvus Helm repository:

helm repo add zilliztech https://zilliztech.github.io/milvus-helm --force-update
helm repo update zilliztech
The Milvus Helm Charts repo at https://milvus-io.github.io/milvus-helm/ has been archived. Use the new repo https://zilliztech.github.io/milvus-helm/ for chart versions 4.0.31 and later.

Step 2: Upgrade Milvus

Check the Chart version installed for your Helm release:

helm list --namespace <namespace>

In the CHART column, remove the milvus- prefix from the value and use the remaining version as <current-chart-version>. Then run the upgrade command:

helm upgrade <release-name> zilliztech/milvus \
  --namespace <namespace> \
  --version <current-chart-version> \
  --set image.all.tag="v3.0.1" \
  --reset-then-reuse-values \
  --wait \
  --timeout 20m

The --reset-then-reuse-values option retains the values from the previous release while applying the explicit image override against the selected Chart defaults.

Verify the upgrade

Check the Helm revision, Pod status, and container images:

helm history <release-name> --namespace <namespace>

kubectl get pods --namespace <namespace>

kubectl get pods --namespace <namespace> \
  -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{range .spec.containers[*]}{.image}{" "}{end}{"\n"}{end}'

Verify that all required workloads are ready, Milvus uses v3.0.1, and your existing collections remain queryable and searchable. Complete these checks before you enable any v3.0.1-specific feature.

Upgrading to Milvus 3.0 does not enable Storage V3. After you verify the upgrade, review Storage V3 before enabling features that depend on it. Once Milvus writes Storage V3 data, downgrading to an older Milvus version that cannot read Storage V3 is not supported.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Was this page helpful?