使用 Helm 圖表升級 Milvus 獨立部署
本指南說明如何使用 Helm 將您的 Milvus 2.6.x 獨立部署升級至 v3.0.5。
此程序已針對從 Milvus 2.6.20 升級至 Milvus v3.0.5(搭配 Milvus Helm Chart 5.0.22)進行驗證。若您使用其他 Milvus 2.6.x 修補版本或 Helm Chart 版本,請先在非生產環境中驗證升級流程。
先決條件
- Helm 3.14.0 或更新版本
- 由 Helm 管理的現有 Milvus 2.6.x 部署
- 現有部署所使用的 Helm 值
- Milvus 元資料與持久化資料的最新備份
訊息佇列限制:升級至 Milvus v3.0.5 時,您必須維持當前的訊息佇列選擇。升級過程中不支援在不同的訊息佇列系統之間切換。未來版本將支援變更訊息佇列系統。
請勿在此程序中變更或降級 Helm Chart。請保留您 Helm 發行版中已安裝的 Chart 版本。經測試的基準配置保留了 Helm Chart 5.0.22,僅將 Milvus 映像標籤變更為v3.0.5 。
此程序未驗證將 Milvus 映像降級回 2.6.x 的操作。 在 v3.0.5 寫入資料後,若僅還原映像檔,可能無法讀取更新後的狀態。若升級失敗,請停止寫入操作,並採用能還原升級前元資料及持久化資料備份的復原方案。請先在非生產環境中驗證該復原方案。
升級流程
步驟 1:更新 Helm 儲存庫
新增或更新 Milvus Helm 儲存庫:
helm repo add zilliztech https://zilliztech.github.io/milvus-helm --force-update
helm repo update zilliztech
https://milvus-io.github.io/milvus-helm/ 的 Milvus Helm Charts 儲存庫已歸檔。請使用新儲存庫https://zilliztech.github.io/milvus-helm/ 來取得 4.0.31 及後續版本的圖表。
步驟 2:升級 Milvus
檢查您的 Helm 發行版所安裝的 Chart 版本:
helm list --namespace <namespace>
在「CHART 」欄位中,從值中移除「milvus- 」前綴,並將剩餘的版本號以「<current-chart-version> 」的形式呈現。接著執行升級指令:
helm upgrade <release-name> zilliztech/milvus \
--namespace <namespace> \
--version <current-chart-version> \
--set image.all.tag="v3.0.5" \
--reset-then-reuse-values \
--wait \
--timeout 20m
--reset-then-reuse-values 選項在套用針對所選 Chart 預設值的明確映像覆寫時,會保留前一版本的數值。
驗證升級
檢查 Helm 修訂版本、Pod 狀態及容器映像檔:
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}'
確認所有必要的工作負載均已就緒、Milvus 已採用v3.0.5 ,且現有集合仍可進行查詢與搜尋。在啟用任何 v3.0.5 專屬功能之前,請先完成這些檢查。
升級至 Milvus 3.0 並不會啟用 Storage V3。在驗證升級完成後,請先審閱Storage V3相關資訊,再啟用依賴於它的功能。一旦 Milvus 寫入 Storage V3 資料,便不支援降級至無法讀取 Storage V3 的舊版 Milvus。