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)は1つに統合されました。mixCoord
  • 新しいコンポーネントデータ処理強化のためのストリーミング・ノードの導入
  • コンポーネントの削除indexNode を削除、統合

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

要件

システム要件

  • Milvus Operator経由でMilvusがデプロイされたKubernetesクラスタ
  • kubectl クラスタにアクセスするように設定されている
  • Helm 3.xのインストール

互換性要件

  • Milvus v2.6.0-rc1はv2.6.16と互換性がありません。リリース候補からの直接のアップグレードはサポートされていません。
  • 現在v2.6.0-rc1を使用しており、データを保持する必要がある場合は、このコミュニティガイドを参照して移行を支援してください。
  • v2.6.16にアップグレードする前に、mixCoord を有効にして、v2.5.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 現在のコーディネータ設定の確認

クラスタがすでにmixCoord を使用しているかどうかを確認します:

kubectl get pods

別のコーディネータポッド(datacoord,querycoord,indexcoord)が表示されている場合は、次のステップで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 v2.6.16へのアップグレード

v2.5.16がmixCoord 、正常に動作するようになったら、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

その他のサポートについては、Milvusのドキュメントまたはコミュニティフォーラムを参照してください。