Milvus
Zilliz
Home
  • Administration Guide
  • Home
  • Docs
  • Administration Guide

  • Upgrade

  • Upgrade Milvus Cluster

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 single mixCoord
  • 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.

Try Managed Milvus for Free

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

Get Started
Feedback

Was this page helpful?