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 への接続」を参照してください。