使用 Helm Chart 升級 Milvus 集群

本指南描述如何使用 Helm Chart 將您的 Milvus 叢集從 v2.5.x 升級到 v2.6.16。

在您開始之前

v2.6.16 的新功能

從 Milvus 2.5.x 升級到 2.6.16 涉及重大的架構改變:

  • 協調器整合:傳統獨立的協調器 (dataCoord,queryCoord,indexCoord) 已經合併為單一的協調器。mixCoord
  • 新元件:引進 Streaming Node 以增強資料處理能力
  • 元件移除indexNode 已移除並合併。

此升級程序可確保妥善遷移至新架構。關於架構改變的更多資訊,請參考Milvus 架構概述

系統需求

系統需求:

  • Helm 版本 >= 3.14.0
  • Kubernetes 版本 >= 1.20.0
  • 透過 Helm 圖表部署 Milvus 叢集

相容性需求:

  • Milvus v2.6.0-rc1 與 v2.6.16不相容。不支援從候選版本直接升級。
  • 如果您目前正在執行 v2.6.0-rc1,並且需要保留您的資料,請參考此社群指南以取得遷移協助。
  • 在升級至 v2.6.16 之前,您必須先升級至 v2.5.16 或更新版本,並啟用mixCoordinator

訊息佇列限制:升級到Milvus v2.6.16時,您必須維持目前的訊息佇列選擇。升級期間不支援在不同的訊息佇列系統之間切換。在未來的版本中,將會支援轉換訊息佇列系統。

自 Milvus Helm 圖表版本 4.2.21 起,我們引入 pulsar-v3.x 圖表作為依賴。為了向下相容性,請升級您的 Helm 到 v3.14 或更高版本,並確保每次使用helm upgrade 時,加入--reset-then-reuse-values 選項。

升級流程

步驟 1: 升級 Helm 圖表

首先,將您的Milvus Helm圖表升級到5.0.0版本:

helm repo add zilliztech https://zilliztech.github.io/milvus-helm
helm repo update zilliztech
位於https://milvus-io.github.io/milvus-helm/ 的 Milvus Helm Charts repo 已經歸檔。使用新的 repohttps://zilliztech.github.io/milvus-helm/ ,以獲得 4.0.31 及更高版本的海圖。

檢查 Helm 海圖版本與 Milvus 版本的相容性:

helm search repo zilliztech/milvus --versions

本指南假設您安裝的是最新版本。如果您需要安裝特定版本,請相應指定--version 參數。

步驟 2:使用 mixCoordinator 升級至 v2.5.16

檢查您的群集目前是否使用獨立的協調器:

kubectl get pods

如果您看到獨立的協調器 pod (datacoord,querycoord,indexcoord) ,請升級到 v2.5.16 並啟用mixCoordinator

helm upgrade my-release zilliztech/milvus \
  --set image.all.tag="v2.5.16" \
  --set mixCoordinator.enabled=true \
  --set rootCoordinator.enabled=false \
  --set indexCoordinator.enabled=false \
  --set queryCoordinator.enabled=false \
  --set dataCoordinator.enabled=false \
  --reset-then-reuse-values \
  --version=4.2.58

如果您的群集已經使用mixCoordinator ,只要升級映像即可:

helm upgrade my-release zilliztech/milvus \
  --set image.all.tag="v2.5.16" \
  --reset-then-reuse-values \
  --version=4.2.58

等待升級完成:

# Verify all pods are ready
kubectl get pods

步驟 3:升級至 v2.6.16

當 v2.5.16 在mixCoordinator 成功執行後,升級至 v2.6.16:

helm upgrade my-release zilliztech/milvus \
  --set image.all.tag="v2.6.16" \
  --set streaming.enabled=true \
  --set indexNode.enabled=false \
  --reset-then-reuse-values \
  --version=5.0.0

驗證升級

確認您的群集正在執行新版本:

# Check pod status
kubectl get pods

# Verify Helm release
helm list

如需其他支援,請參閱Milvus 文件社群論壇