• Milvusについて
  • はじめに
  • 概念
  • ユーザーガイド
  • データのインポート
  • AIツール
  • 管理ガイド
  • ツール
  • 連携機能
  • チュートリアル
  • よくある質問
  • API Reference

MilvusのメッセージキューとしてKafkaを使用する

Apache Kafka は、Milvus がサポートするメッセージキュー(WAL)バックエンドの 1 つです。 Milvus 3.x では、Woodpeckerがデフォルトのメッセージキューとなっていますが、Kafka を希望するユーザーに対しては引き続き完全なサポートが提供されています。Kafka は主に Milvus Distributed(クラスタ)で使用されます。スタンドアロン展開では、通常、組み込みの Woodpecker またはRocksMQ が使用されます。

バージョンの互換性

  • MilvusはKafka 2.xおよび3.xのみをサポートしています。
  • Milvus Distributed(クラスタ)向けのKafkaの設定は、HelmまたはMilvus Operatorを介して行います。

Helm を使用して Kafka を含む Milvus クラスタをデプロイする

インストールと設定

外部のKafkaサービスを使用するには、バンドルされているPulsarを無効にし、values.yaml のオーバーライドでexternalKafka を有効にしてから、Milvusをインストールしてください:

pulsarv3:
  enabled: false
externalKafka:
  enabled: true
  brokerList: <your_kafka_address>:<your_kafka_port>
  securityProtocol: SASL_SSL
  sasl:
    mechanisms: PLAIN
    username: ""
    password: ""
helm install my-release zilliztech/milvus -f values.yaml

SASL/SSL 認証の詳細については、「SASL/SSL を使用した Kafka への接続」を参照してください。

アンインストール

helm uninstall my-release

Milvus Operator を使用して Kafka を含む Milvus クラスターをデプロイする

Milvus Operator を使用する場合は、`spec.dependencies.msgStreamType: "kafka" ` を設定し、spec.dependencies.kafka (クラスターのみ)で Kafka を構成します。kafka は、external およびinCluster をサポートしています。

外部Kafka

apiVersion: milvus.io/v1alpha1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  config:
    kafka:
      # securityProtocol supports: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL
      securityProtocol: PLAINTEXT
      # saslMechanisms supports: PLAIN, SCRAM-SHA-256, SCRAM-SHA-512
      saslMechanisms: PLAIN
      saslUsername: ""
      saslPassword: ""
  dependencies:
    msgStreamType: "kafka"
    kafka:
      external: true
      brokerList:
        - "kafkaBrokerAddr1:9092"
        - "kafkaBrokerAddr2:9092"

SASLの設定は、Milvus Operator v0.8.5以降でサポートされています。

内部(クラスタ内)Kafka

apiVersion: milvus.io/v1alpha1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  dependencies:
    msgStreamType: "kafka"
    kafka:
      inCluster:
        values: {}  # see https://artifacthub.io/packages/helm/bitnami/kafka
  components: {}
  config: {}

設定を適用します(ファイル名がmilvuscluster.yaml であると仮定します):

kubectl apply -f milvuscluster.yaml

アンインストール

kubectl delete milvus my-release

注意事項

  • 2.5.x から 2.6.x へのアップグレード: メッセージキューの制限事項: Milvus v3.0.0 へアップグレードする際は、現在のメッセージキューの選択を維持する必要があります。アップグレード中に異なるメッセージキューシステムへ切り替えることはサポートされていません。メッセージキューシステムの変更機能は、将来のバージョンで提供される予定です。 Kafka を実行しており、それを継続して使用したい場合は、アップグレード中にメッセージキューを変更しないでください。
  • サポートされているのはKafka 2.x および 3.xのみです。
  • SASL/SSL による接続については、「SASL/SSL を使用した Kafka への接続」を参照してください。

今後の予定