使用 Milvus Operator 配置消息存储
Milvus 使用 RocksMQ、Pulsar 或 Kafka 来管理最近更改的日志、输出流日志,并提供日志订阅。本主题介绍了在使用 Milvus Operator 安装 Milvus 时如何配置消息存储依赖 项。更多详情,请参阅 Milvus Operator 仓库中的 使用 Milvus Operator 配置消息存储。
本主题假定您已部署了 Milvus Operator。
查看 部署 Milvus Operator 以获取更多信息。
您需要为使用 Milvus Operator 启动 Milvus 集群指定一个配置文件。
kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml
您只需 要编辑 milvus_cluster_default.yaml
中的代码模板以配置第三方依赖项。以下各节介绍了如何分别配置对象存储、etcd 和 Pulsar。
开始之前
下表显示了 RocksMQ、NATS、Pulsar 和 Kafka 在 Milvus 独立模式和集群模式下的支持情况。
RocksMQ | NATS | Pulsar | Kafka | |
---|---|---|---|---|
独立模式 | ✔️ | ✔️ | ✔️ | ✔️ |
集群模式 | ✖️ | ✖️ | ✔️ | ✔️ |
还有其他指定消息存储的限制:
- 仅支持为一个 Milvus 实例配置一个消息存储。但是我们仍然支持为一个实例设置多个消息存储的向后兼容性。优先级如下:
- 独立模式:RocksMQ(默认)> Pulsar > Kafka
- 集群模式:Pulsar(默认)> Kafka
- 2.3 版本引入的 Nats 不参与这些向后兼容性规则。
- 在 Milvus 系统运行时无法更改消息存储。
- 仅支持 Kafka 2.x 或 3.x 版本。
配置 RocksMQ
RocksMQ 是 Milvus 独立模式下的默认消息存储。
目前,您只能通过 Milvus Operator 为 Milvus 独立模式配置 RocksMQ 作为消息存储。
示例
以下示例配置了一个 RocksMQ 服务。
apiVersion: milvus.io/v1alpha1
kind: Milvus
metadata:
name: milvus
spec:
dependencies: {}
components: {}
config: {}