Milvus Operator を使用した Milvus クラスタのアップグレード

このガイドでは、Milvus Operator を使用して Milvus クラスターを v2.5.x から v3.0-beta にアップグレードする方法について説明します。

開始する前に

v3.0-betaの新機能

Milvus 2.5.x から 3.0-beta へのアップグレードには、アーキテクチャ上の大幅な変更が含まれます:

  • コーディネーターの統合:従来の別々のコーディネーター(dataCoordqueryCoordindexCoord )が、単一のmixCoord
  • 新コンポーネント:データ処理機能を強化するためのストリーミングノードの導入
  • コンポーネントの削除indexNode が削除され、統合されました

このアップグレードプロセスにより、新しいアーキテクチャへの適切な移行が保証されます。アーキテクチャの変更に関する詳細については、『Milvus アーキテクチャ概要』を参照してください。

要件

システム要件:

  • Milvus Operatorを介してMilvusがデプロイされたKubernetesクラスター
  • kubectl クラスターにアクセスできるよう設定済み
  • Helm 3.x がインストールされていること

互換性に関する要件:

  • Milvus v2.6.0-rc1 は v3.0-betaと互換性がありません。リリース候補版からの直接アップグレードはサポートされていません。
  • 現在 v2.6.0-rc1 を実行しており、データを保持する必要がある場合は、移行に関する支援としてこちらのコミュニティガイドを参照してください。
  • v3.0-beta にアップグレードする前に、mixCoord を有効にした状態で v2.5.16 以降にアップグレードする必要があります

メッセージキューの制限事項:Milvus v3.0-beta へアップグレードする際は、現在のメッセージキューの設定を維持する必要があります。アップグレード中に異なるメッセージキューシステムへ切り替えることはサポートされていません。メッセージキューシステムの変更機能は、将来のバージョンで提供される予定です。

アップグレード手順

ステップ 1: Milvus Operator のアップグレード

まず、Milvus Operator を v1.3.7 にアップグレードします:

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

Operatorのアップグレードを確認します:

kubectl -n milvus-operator get pods

ステップ 2: Milvus クラスタのアップグレード

2.1 現在のコーディネーターの設定を確認する

クラスターがすでにmixCoord を使用しているか確認してください:

kubectl get pods

もし、個別のコーディネーターポッド(datacoordquerycoordindexcoord )が表示されている場合は、次のステップでmixCoord を有効にする必要があります。

2.2 mixCoord を使用した v2.5.16 へのアップグレード

クラスタがすでに v2.5.16 以降を実行しており、mixCoord が有効になっている場合は、この手順をスキップしてください。

mixCoord を有効にし、v2.5.16にアップグレードするための設定ファイル `milvusupgrade.yaml ` を作成します:

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

設定を適用します:

kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge

完了するまで待ちます:

# Verify all pods are ready
kubectl get pods

2.3 v3.0-beta へのアップグレード

mixCoord が有効な状態で v2.5.16 が正常に動作していることを確認したら、v3.0-beta にアップグレードします:

設定ファイルを更新します(この例ではmilvusupgrade.yaml ):

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release  # Replace with your actual release name
spec:
  components:
    image: milvusdb/milvus:v3.0-beta

最終的なアップグレードを実行します:

kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge

アップグレードの確認

クラスタが新しいバージョンで実行されていることを確認します:

# Check pod status
kubectl get pods

さらにサポートが必要な場合は、Milvusのドキュメントまたはコミュニティフォーラムを参照してください。