Kubernetes上でMilvusを稼働させるための要件
このページでは、Milvusを稼働させるために必要なハードウェアとソフトウェアの要件を示します。
ハードウェア要件
| コンポーネント | 要件 | 推奨環境 | 備考 |
|---|---|---|---|
| CPU |
|
| |
| CPU命令セット |
|
| Milvusのベクトル類似度検索とインデックス作成には、CPUがSIMD(Single Instruction, Multiple Data)拡張セットをサポートしている必要があります。CPUが少なくとも1つのSIMD拡張セットに対応していることを確認してください。詳細はAVXを搭載したCPUを参照してください。 |
| RAM |
|
| RAMのサイズはデータ容量によって異なります。 |
| ハードドライブ | SATA 3.0 SSDまたはCloudStorage | NVMe SSD以上 | ハードドライブのサイズはデータ容量に依存します。 |
ソフトウェア要件
Linuxプラットフォーム上でKubernetesクラスタを実行することを推奨します。
kubectlはKubernetes用のコマンドラインツールです。クラスタのマイナーバージョン差が1つ以内のkubectlバージョンを使用してください。最新バージョンのkubectlを使用することで、予期せぬ問題を回避できます。
Kubernetesクラスタをローカルで実行する場合は、minikubeが必要です。minikubeには依存関係としてDockerが必要です。Helmを使用してmilvusをインストールする前に、Dockerをインストールしていることを確認してください。詳しくはGet Dockerを参照してください。
| オペレーティングシステム | ソフトウェア | 備考 |
|---|---|---|
| Linuxプラットフォーム |
| 詳細はHelm Docs を参照してください。 |
| ソフトウェア | バージョン | 備考 |
|---|---|---|
| etcd | 3.5.0 | 追加ディスク要件を参照。 |
| MinIO | RELEASE.2024-12-18T13-15-44Z | |
| パルサー | 2.8.2 |
追加ディスク要件
ディスク性能はetcdにとって極めて重要です。ローカルのNVMe SSDを使用することを強く推奨します。ディスクの応答が遅くなると、クラスタ選挙が頻繁に発生し、最終的にetcdサービスが劣化する可能性があります。
ディスクが適格かどうかをテストするには、fioを使用します。
mkdir test-data
fio --rw=write --ioengine=sync --fdatasync=1 --directory=test-data --size=2200m --bs=2300 --name=mytest
理想的には、ディスクが500 IOPSを超え、99パーセンタイルのfsyncレイテンシが10ms以下である必要があります。より詳細な要件については etcdDocs をお読みください。
よくある質問
テスト目的で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 をローカルにインストールしていない場合は、「Use kubectl inside minikube」を参照してください。
次のステップ
ハードウェアとソフトウェアが要件を満たしていれば、次のことができます:
Milvusのインストール時に設定できるパラメータについては、システム構成を参照してください。