Milvus Semantic Cache
本指南涵盖在 Kubernetes 中部署 Milvus 作为 Semantic Router 的 Semantic Cache 后端。与默认的 memory cache 相比,Milvus 提供了持久化、可扩展的向量存储。
备注
Milvus 是可选的。Router 开箱即用,默认使用 memory backend。当您需要持久化、水平扩展或在 Router 副本之间共享缓存时,请使用 Milvus。
部署选项
有两种方法可用:
- Helm: 快速启动和参数化部署
- Milvus Operator: 生产级生命周期管理、滚动升级、健康检查和依赖编排
前提条件
- 配置了
kubectl的 Kubernetes 集群 - 可用的默认
StorageClass - 安装了 Helm 3.x
ServiceMonitor 要求
默认 Helm 值启用了 ServiceMonitor 以进行 Prometheus 指标收集,这需要先安装 Prometheus Operator。
对于没有 Prometheus Operator 的测试,请使用 --set metrics.serviceMonitor.enabled=false 禁用 ServiceMonitor(参见下面的部署命令)。
使用 Helm 部署
单机模式 (Standalone Mode)
适用于开发和小规模部署:
helm repo add milvus https://zilliztech.github.io/milvus-helm/
helm repo update
无 Prometheus Operator (用于测试/开发):
helm install milvus-semantic-cache milvus/milvus \
--set cluster.enabled=false \
--set etcd.replicaCount=1 \
--set minio.mode=standalone \
--set pulsar.enabled=false \
--set metrics.serviceMonitor.enabled=false \
--namespace vllm-semantic-router-system --create-namespace
有 Prometheus Operator (用于带监控的生产环境):
helm install milvus-semantic-cache milvus/milvus \
--set cluster.enabled=false \
--set etcd.replicaCount=1 \
--set minio.mode=standalone \
--set pulsar.enabled=false \
--namespace vllm-semantic-router-system --create-namespace