使用 Helm Chart 升級 Milvus 叢集
本指南說明如何使用 Helm Chart 將您的 Milvus 叢集從 v2.5.x 升級至 v2.6.22。
開始之前
v2.6.22 的新功能
從 Milvus 2.5.x 升級至 2.6.22 涉及重大的架構變更:
- 協調器整合:舊版獨立的協調器(
dataCoord、queryCoord、indexCoord)已整合為單一mixCoord - 新元件:引入「串流節點」(Streaming Node)以強化資料處理能力
- 元件移除:已移除並整合
indexNode
此升級流程可確保順利遷移至新架構。有關架構變更的更多資訊,請參閱《Milvus 架構概覽》。
需求
系統需求:
- Helm 版本 >= 3.14.0
- Kubernetes 版本 >= 1.20.0
- 透過 Helm Chart 部署的 Milvus 叢集
相容性要求:
- Milvus v2.6.0-rc1 與 v2.6.22不相容。不支援直接從候選版本(release candidates)進行升級。
- 若您目前正在運行 v2.6.0-rc1 且需要保留資料,請參閱此社群指南以獲取遷移協助。
- 在升級至 v2.6.22 之前,您必須先升級至 v2.5.16 或更新版本,並啟用
mixCoordinator功能。
訊息佇列限制:升級至 Milvus v2.6.22 時,您必須維持當前的訊息佇列選項。升級過程中不支援在不同的訊息佇列系統之間切換。未來版本將支援變更訊息佇列系統。
自 Milvus Helm 圖表版本 4.2.21 起,我們已將 pulsar-v3.x 圖表引入作為依賴項。為確保向後相容性,請將您的 Helm 升級至 v3.14 或更高版本,並確保在每次使用 `
helm upgrade` 時,務必添加 `--reset-then-reuse-values ` 選項。
升級流程
步驟 1:升級 Helm Chart
首先,將您的 Milvus Helm Chart 升級至 5.0.22 版本:
helm repo add zilliztech https://zilliztech.github.io/milvus-helm
helm repo update zilliztech
位於
https://milvus-io.github.io/milvus-helm/ 的 Milvus Helm Charts 儲存庫已歸檔。請使用新儲存庫https://zilliztech.github.io/milvus-helm/ 來取得 4.0.31 及後續版本的圖表。
若要檢查 Helm Chart 版本與 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.22
當 v2.5.16 已成功在mixCoordinator 上運行後,請升級至 v2.6.22:
helm upgrade my-release zilliztech/milvus \
--set image.all.tag="v2.6.22" \
--set streaming.enabled=true \
--set indexNode.enabled=false \
--reset-then-reuse-values \
--version=5.0.22
驗證升級
確認您的叢集是否已運行新版本:
# Check pod status
kubectl get pods
# Verify Helm release
helm list