Kubernetes上でのリソースの割り当て
このトピックでは、Kubernetes上のMilvusクラスタにリソースを割り当てる方法について説明します。
一般的に、本番環境でMilvusクラスタに割り当てるリソースは、マシンのワークロードに比例させる必要があります。また、リソースを割り当てる際にはマシンタイプも考慮する必要があります。クラスタの実行中に設定を更新することもできますが、クラスタをデプロイする前に値を設定することをお勧めします。
Milvus Operatorでリソースを割り当てる方法については、Milvus Operatorでリソースを割り当てるを参照してください。
1.利用可能なリソースの表示
kubectl describe nodes
を実行して、プロビジョニングしたインスタンスで利用可能なリソースを表示します。
2.リソースの割り当て
Helmを使用して、MilvusコンポーネントにCPUとメモリのリソースを割り当てます。
Helmを使用してリソースをアップグレードすると、実行中のポッドがローリングアップデートを実行します。
リソースを割り当てるには2つの方法があります:
コマンドでリソースを割り当てる
--set
を使用してリソース設定を更新する場合は、Milvus コンポーネントごとにリソース変数を設定する必要があります。
helm upgrade my-release milvus/milvus --reuse-values --set standalone.resources.limits.cpu=2 --set standalone.resources.limits.memory=4Gi --set standalone.resources.requests.cpu=0.1 --set standalone.resources.requests.memory=128Mi
helm upgrade my-release milvus/milvus --reuse-values --set dataNode.resources.limits.cpu=2 --set dataNode.resources.limits.memory=4Gi --set dataNode.resources.requests.cpu=0.1 --set dataNode.resources.requests.memory=128Mi
設定ファイルによるリソース割り当て
resources.yaml
ファイルのパラメータresources.requests
およびresources.limits
を指定して、CPU およびメモリリソースを割り当てることもできます。
dataNode:
resources:
limits:
cpu: "4"
memory: "16Gi"
requests:
cpu: "1"
memory: "4Gi"
queryNode:
resources:
limits:
cpu: "4"
memory: "16Gi"
requests:
cpu: "1"
memory: "4Gi"
3.設定の適用
以下のコマンドを実行し、新しい設定をMilvusクラスタに適用します。
helm upgrade my-release milvus/milvus --reuse-values -f resources.yaml
resources.limits
が指定されていない場合、ポッドは利用可能なすべてのCPUおよびメモリリソースを消費します。そのため、同じインスタンス上で他の実行タスクがより多くのメモリ消費を必要とする場合にリソースのオーバーオールロケーションを避けるために、resources.requests
とresources.limits
を必ず指定してください。リソースの管理に関する詳細は、Kubernetesのドキュメントを参照してください。
次のステップ
- 次の方法についても学びましょう:
- クラウド上にクラスタをデプロイする準備ができたら