milvus-logo
LFAI
フロントページへ
  • 管理ガイド

Milvus Operatorを使用したMilvusの設定

本番環境では、マシンのタイプとワークロードに基づいてMilvusクラスタにリソースを割り当てる必要があります。デプロイ時に設定することも、クラスタの実行中に設定を更新することもできます。

このトピックでは、Milvus Operatorを使用してMilvusクラスタをインストールする際の設定方法を紹介します。

このトピックでは、Milvus Operatorをデプロイしていることを前提としています。詳細については、「Milvus Operatorのデプロイ」を参照してください。

Milvus Operatorを使用したMilvusクラスタの設定には以下が含まれます:

  • グローバルリソースの設定
  • プライベートリソース設定
プライベートリソースの設定はグローバルリソースの設定を上書きします。リソースをグローバルに構成し、同時に特定のコンポーネントのプライベートリソースを指定すると、コンポーネントはプライベート構成を優先して応答します。

グローバルリソースの設定

Milvus Operatorを使用してMilvusクラスタを起動する場合、設定ファイルを指定する必要があります。この例ではデフォルトの設定ファイルを使用しています。

kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml

設定ファイルの詳細は次のとおりです:

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  dependencies: {}
  components: {}
  config: {}

フィールドspec.components 、すべてのMilvusコンポーネントのグローバルおよびプライベートリソース設定の両方が含まれます。以下はグローバルリソースの設定によく使用される4つのフィールドです。

  • image:使用するMilvus dockerイメージ。
  • resources:各コンポーネントに割り当てられた計算リソース。
  • tolerations and : K8sクラスタ内の各Milvusコンポーネントのスケジューリングルール。詳細はnodeSelector許容値とnodeSelectorを参照。
  • env:環境変数。

より多くのフィールドを設定したい場合は、こちらのドキュメントを参照してください。

Milvusクラスタのグローバルリソースを設定するには、milvuscluster_resource.yaml

以下の例ではMilvusクラスタ用にグローバルリソースを設定しています。

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  components:
    nodeSelector: {}
    tolerations: {}
    env: {}
    resources:
      limits:
        cpu: '4'
        memory: 8Gi
      requests:
        cpu: 200m
        memory: 512Mi

以下のコマンドを実行して新しい設定を適用します:

kubectl apply -f milvuscluster_resource.yaml
K8sクラスタにmy-release という名前のMilvusクラスタが存在する場合、クラスタリソースは設定ファイルに従って更新されます。そうでない場合は、新しいMilvusクラスタが作成されます。

プライベートリソースの設定

もともとMilvus 2.0では、Milvusクラスタにはプロキシ、ルート・コーダ、データ・コーダ、クエリ・コーダ、インデックス・ノード、データ・ノード、クエリ・ノードの7つのコンポーネントが含まれています。しかし、Milvus 2.1.0では新しいコンポーネント、mix coordがリリースされました。mix coordはすべてのコーディネータコンポーネントを含む。したがって、ミックス・コーディネータを起動するということは、ルート・コーディネータ、データ・コーディネータ、クエリ・コーディネータを含む他のコーディネータをインストールして起動する必要がないということです。

各コンポーネントの構成に使用される共通フィールドには、以下のものがあります:

  • replica:各コンポーネントのレプリカ数。
  • port:各コンポーネントのリッスン・ポート番号。
  • グローバル・リソース構成でよく使用される4つのフィールド:image env,nodeSelector,tolerations,resources (上記参照)。その他の設定可能なフィールドについては、このドキュメントの各コンポーネントをクリックしてください。
さらに、プロキシを設定する際には、`serviceType`という追加フィールドがあります。このフィールドはK8sクラスタでMilvusが提供するサービスのタイプを定義します。

特定のコンポーネントのリソースを設定するには、まずspec.componets のフィールドにコンポーネント名を追加し、そのプライベートリソースを設定してください。

目的 パラメータ
パフォーマンス・チューニング
データとメタ
管理
クォータと制限

以下の例では、プロキシとデータノードのレプリカと計算リソースをmilvuscluster.yaml

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  components:
    resources:
      limits:
        cpu: '4'
        memory: 8Gi
      requests:
        cpu: 200m
        memory: 512Mi
    rootCoord: 
      replicas: 1
      port: 8080
      resources:
        limits:
          cpu: '6'
          memory: '10Gi'
    dataCoord: {}
    queryCoord: {}
    indexCoord: {}
    dataNode: {}
    indexNode: {}
    queryNode: {}
    proxy:
      replicas: 1
      serviceType: ClusterIP
      resources:
        limits:
          cpu: '2'
          memory: 4Gi
        requests:
          cpu: 100m
          memory: 128Mi
  config: {}
  dependencies: {}
この例では、グローバルリソースだけでなく、root coordとproxyのプライベートコンピュートリソースも設定しています。この設定ファイルを使用してMilvusクラスタを起動すると、プライベートリソースの設定はルートCoordとProxyに適用され、その他のコンポーネントはグローバルリソースの設定に従います。

以下のコマンドを実行して新しい設定を適用します:

kubectl apply -f milvuscluster.yaml

次のステップ

翻訳DeepLogo

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
フィードバック

このページは役に立ちましたか ?