ApeCloud
博客开源社区关于我们
首页

/

KubeBlocks开源版

/

Qdrant Operator

向量数据库
开源

在 Kubernetes 上部署高性能 Qdrant 向量搜索引擎

KubeBlocks Qdrant Operator 基于 Raft 协议提供分布式向量数据库服务,支持 HNSW 等多种向量索引与 Payload 过滤检索,以 Rust 实现的高性能引擎为 AI 应用提供低延迟向量相似度搜索。

访问 GitHub

8

支持版本数

100%

开源免费

2 步部署生产级 Qdrant Operator

1

安装 KubeBlocks

# 添加 Helm 仓库
helm repo add kubeblocks https://apecloud.github.io/helm-charts
helm repo update

# 安装 KubeBlocks
helm install kubeblocks kubeblocks/kubeblocks \
  --namespace kb-system --create-namespace
2

创建 Qdrant Operator 集群

apiVersion: apps.kubeblocks.io/v1
kind: Cluster
metadata:
  name: qdrant-cluster
  namespace: demo
spec:
  clusterDef: qdrant
  topology: cluster
  terminationPolicy: Delete
  componentSpecs:
    - name: qdrant
      replicas: 3
      serviceVersion: "1.16.3"

核心能力

Raft 分布式集群

每个 Collection 分片基于 Raft 协议跨节点复制,节点故障后自动选举新分片 Leader,存活副本持续提供检索服务。

HNSW 高性能索引

默认使用 HNSW 层级导航图索引,在高召回率下提供毫秒级向量检索性能,支持按 Collection 配置索引参数。

Payload 过滤检索

支持在向量搜索时附加结构化 Payload 过滤条件,无需先过滤再检索,精度与性能兼顾。

REST + gRPC 双协议

REST API(:6333)与 gRPC(:6334)双协议支持,兼容主流 AI 框架与 SDK。


部署拓扑

分布式 Raft 集群

KubeBlocks 将 Qdrant 部署为 3 节点及以上的分布式集群,每个 Collection 分片通过 Raft 协议跨节点复制,节点故障时自动选举新分片 Leader,存活副本持续提供检索服务。

分布式 Raft
分片复制
HNSW 索引
REST + gRPC
关键特性

每个 Collection 分片写入前需多数节点确认,保障数据一致性

节点故障时自动选举新分片 Leader,存活副本持续提供向量检索服务

所有节点接受 REST 与 gRPC 请求,客户端可连接任意存活节点

通过 Kubernetes Headless Service DNS 实现节点发现,无需外部协调组件

HNSW 索引支持按 Collection 配置 m 与 ef_construct 参数

应用 / 客户端
REST API  {cluster}-qdrant-qdrant:6333
gRPC  {cluster}-qdrant-qdrant:6334
REST/gRPC → 所有 Pod(分布式搜索)
Kubernetes 服务
{cluster}-qdrant-qdrant
ClusterIP · :6333 REST · :6334 gRPC
selector: 所有 Pod · 向量搜索分布式执行
名称 = 集群 + 组件 + 服务名("qdrant")
ClusterIP
→ 所有 Pod(负载均衡)
按分片进行 Raft,而非整个集群一个主节点。每个集合分片选举各自的 副本主节点;一个节点可承载多个分片。徽章标记对等节点(Pod 名称仅供示意)。
qdrant-0节点
🎯
qdrant
:6333 REST + /metrics · :6334 gRPC · :6335 P2P/Raft
💾 PVC data-0 · 20Gi
qdrant-1节点
🎯
qdrant
:6333 REST + /metrics · :6334 gRPC · :6335 P2P/Raft
💾 PVC data-1 · 20Gi
qdrant-2节点
🎯
qdrant
:6333 REST + /metrics · :6334 gRPC · :6335 P2P/Raft
💾 PVC data-2 · 20Gi
通过 Raft 共识进行分片复制集合分片分布在各 Pod 上 · 每个分片以可配置的 replication_factor 进行复制
🔗无头服务 — 为内部使用提供稳定的 Pod DNS(复制、高可用心跳、Operator 探针);非客户端端点
对等节点
Raft 共识(按分片)
持久化存储

常见问题

KubeBlocks Qdrant Operator 支持哪些 Qdrant 版本?

KubeBlocks Qdrant Operator 支持 Qdrant 1.5.0、1.7.3、1.8.x、1.10.0、1.13.4、1.15.4 和 1.16.3 共 8 个版本,支持通过 OpsRequest 滚动升级。

KubeBlocks 如何处理 Qdrant 节点故障?

KubeBlocks 将 Qdrant 部署为分布式模式,每个 Collection 分片使用 Raft 协议跨节点复制。节点故障时,存活副本自动选举新分片 Leader 并继续提供检索服务。KubeBlocks 自动重启故障 Pod 并从 Leader 同步分片数据。

KubeBlocks Qdrant Operator 是否免费?

KubeBlocks开源版完全开源免费。KubeBlocks企业版 提供图形化控制台与商业支持等增值功能。