Kubernetes上でMilvusを実行するための要件
このページでは、Milvus を稼働させるためのハードウェアおよびソフトウェアの要件を記載しています。
ハードウェア要件
| コンポーネント | 要件 | 推奨 | 備考 |
|---|---|---|---|
| CPU |
|
| |
| CPU命令セット |
|
| Milvus でのベクトル類似性検索およびインデックス構築には、CPU が単一命令・複数データ (SIMD) 拡張セットをサポートしている必要があります。お使いの CPU が、記載されている SIMD 拡張機能のうち少なくとも 1 つをサポートしていることを確認してください。詳細については、「AVX 対応 CPU」を参照してください。 |
| RAM |
|
| RAMの容量はデータ量によって異なります。 |
| ハードドライブ | SATA 3.0 SSD または CloudStorage | NVMe SSD またはそれ以上 | ハードドライブの容量は、データ量によって異なります。 |
ソフトウェア要件
Kubernetes クラスタは、Linux プラットフォーム上で実行することを推奨します。
kubectl は Kubernetes 用のコマンドラインツールです。クラスターとマイナーバージョンが 1 つ以内の違いにある kubectl バージョンを使用してください。kubectl の最新バージョンを使用することで、予期せぬ問題を回避できます。
Kubernetes クラスタをローカルで実行するには、minikube が必要です。minikube には Docker が依存関係として必要です。Helm を使用して Milvus をインストールする前に、Docker をインストールしてください。詳細については、「Docker の入手方法」を参照してください。
| オペレーティングシステム | ソフトウェア | 注 |
|---|---|---|
| Linux プラットフォーム |
| 詳細については、Helm ドキュメントを参照してください。 |
| ソフトウェア | バージョン | 備考 |
|---|---|---|
| etcd | 3.5.0 | 追加のディスク要件を参照してください。 |
| MinIO | RELEASE.2024-12-18T13-15-44Z | |
| Woodpecker | Milvus にバンドル(サービスモード:v0.1.37 以降) | デフォルトのメッセージキュー。分散デプロイの場合、Woodpecker は専用サービスとして実行できます。--set woodpecker.image.tag を使用してバージョンを固定してください。サービスモードは、Woodpeckerv0.1.37 以降でサポートされています。 |
| Pulsar | 2.8.2 | オプション — メッセージキューをPulsarに切り替える場合のみ。デフォルトではインストールされません。 |
追加のディスク要件
ディスクのパフォーマンスは etcd にとって極めて重要です。ローカルの NVMe SSD を使用することを強く推奨します。ディスクの応答が遅いと、クラスタのエレクトションが頻繁に発生し、最終的には etcd サービスのパフォーマンスが低下する可能性があります。
ディスクが要件を満たしているかどうかをテストするには、fio を使用してください。
mkdir test-data
fio --rw=write --ioengine=sync --fdatasync=1 --directory=test-data --size=2200m --bs=2300 --name=mytest
理想的には、ディスクの IOPS が 500 を超え、99パーセンタイルの fsync レイテンシが 10ms 未満であることが望ましいです。より詳細な要件については、etcdドキュメントを参照してください。
よくある質問
テスト目的でローカルに K8s クラスターを起動するにはどうすればよいですか?
minikube、kind、Kubeadm などのツールを使用すると、ローカルで Kubernetes クラスタを迅速にセットアップできます。以下の手順では、例として minikube を使用します。
- minikubeのダウンロード
「Get Started」ページにアクセスし、「What you’ll need」セクションに記載されている条件を満たしているか確認した後、対象プラットフォームに対応するボタンをクリックし、バイナリをダウンロードしてインストールするためのコマンドをコピーしてください。
- minikube を使用して K8s クラスタを起動する
$ minikube start
- K8sクラスタのステータスを確認する
以下のコマンドを使用して、インストールされた K8s クラスタの状態を確認できます。
$ kubectl cluster-info
kubectl 経由で K8s クラスターにアクセスできることを確認してください。kubectl をローカルにインストールしていない場合は、「minikube 内で kubectl を使用する」を参照してください。
次の手順
ハードウェアおよびソフトウェアが要件を満たしている場合は、以下の操作を行うことができます:
Milvusのインストール時に設定可能なパラメータについては、「システム構成」を参照してください。