使用 Milvus Operator 升級 Milvus 單機版
本指南描述如何使用 Milvus Operator 將您的 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 架構概述。
系統需求
系統需求:
- 透過 Milvus Operator 部署了 Milvus standalone 的 Kubernetes 叢集
kubectl配置以存取您的群集- 已安裝 Helm 3.x
相容性需求:
- Milvus v2.6.0-rc1 與 v2.6.16不相容。不支援從候選版本直接升級。
- 如果您目前正在執行 v2.6.0-rc1,並需要保留您的資料,請參考此社群指南以取得遷移協助。
- 您必須先升級至 v2.5.16 或更新版本,才能升級至 v2.6.16。
訊息佇列限制:升級到Milvus v2.6.16時,您必須維持目前的訊息佇列選擇。升級期間不支援在不同訊息佇列系統之間切換。未來版本將支援變更訊息佇列系統。
升級過程
步驟 1:升級 Milvus Operator
首先,將您的 Milvus Operator 升級至 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
驗證操作員升級:
kubectl -n milvus-operator get pods
步驟 2: 升級您的 Milvus 單機
2.1 升級到v2.5.16
如果您的單機部署已經在運行v2.5.16或更高版本,請跳過這一步驟。
建立配置檔案milvusupgrade.yaml 以升級至 v2.5.16:
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release # Replace with your actual release name
spec:
components:
image: milvusdb/milvus:v2.5.16
套用組態:
kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge
等待完成:
# Verify all pods are ready
kubectl get pods
2.2 升級至 v2.6.16
當 v2.5.16 成功執行後,升級至 v2.6.16:
更新您的設定檔案 (milvusupgrade.yaml 在本範例中):
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release # Replace with your actual release name
spec:
components:
image: milvusdb/milvus:v2.6.16
套用最終升級:
kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge
驗證升級
確認您的單機部署正在執行新版本:
# Check pod status
kubectl get pods