在 Kubernetes 上运行 Milvus 的要求
本页面列出了使 Milvus 正常运行所需的硬件和软件要求。
硬件要求
| 组件 | 要求 | 建议 | 注 |
|---|---|---|---|
| CPU |
|
| |
| CPU 指令集 |
|
| 在 Milvus 中进行向量相似性搜索和索引构建需要 CPU 支持单指令多数据(SIMD)扩展集。请确保 CPU 至少支持所列出的其中一种 SIMD 扩展。有关更多信息,请参阅支持 AVX 的 CPU。 |
| 内存 |
|
| RAM的大小取决于数据量。 |
| 硬盘 | SATA 3.0 SSD 或云存储 | NVMe SSD 或更高规格 | 硬盘容量取决于数据量。 |
软件要求
建议在 Linux 平台上运行 Kubernetes 集群。
kubectl 是 Kubernetes 的命令行工具。请使用与您的集群小版本号相差不超过一个的 kubectl 版本。使用最新版本的 kubectl 有助于避免出现意想不到的问题。
在本地运行 Kubernetes 集群时需要 minikube。minikube 依赖 Docker。请确保在使用 Helm 安装 Milvus 之前已安装 Docker。更多信息请参阅《获取 Docker》。
| 操作系统 | 软件 | 注意 |
|---|---|---|
| Linux 平台 |
| 更多信息请参阅Helm 文档。 |
| 软件 | 版本 | 备注 |
|---|---|---|
| etcd | 3.5.0 | 请参阅其他磁盘要求。 |
| MinIO | RELEASE.2024-12-18T13-15-44Z | |
| Woodpecker | 随 Milvus 捆绑提供(服务模式:v0.1.37 及以上版本) | 默认消息队列。对于分布式部署,Woodpecker 可以作为专用服务运行;请使用--set woodpecker.image.tag 锁定其版本。从 Woodpeckerv0.1.37 版本起支持服务模式。 |
| Pulsar | 2.8.2 | 可选 — 仅当您将消息队列切换为 Pulsar 时才需安装;默认不安装。 |
额外的磁盘要求
磁盘性能对 etcd 至关重要。强烈建议您使用本地 NVMe SSD。磁盘响应较慢可能会导致集群选举频繁,最终导致 etcd 服务性能下降。
要测试您的磁盘是否符合要求,请使用fio。
mkdir test-data
fio --rw=write --ioengine=sync --fdatasync=1 --directory=test-data --size=2200m --bs=2300 --name=mytest
理想情况下,您的磁盘应达到 500 以上的 IOPS,且第 99 百分位 fsync 延迟应低于 10 毫秒。请查阅 etcd文档以了解更详细的要求。
常见问题
如何在本地启动 K8s 集群用于测试?
您可以使用minikube、kind 和Kubeadm 等工具,快速在本地搭建 Kubernetes 集群。以下步骤以 minikube 为例进行说明。
- 下载 minikube
访问“入门”页面,确认您是否满足“所需条件”部分列出的要求,点击对应目标平台的按钮,并复制相关命令以下载并安装二进制文件。
- 使用 minikube 启动 K8s 集群
$ minikube start
- 检查 K8s 集群状态
您可以通过以下命令检查已安装的 K8s 集群状态。
$ kubectl cluster-info
请确保您可以通过kubectl 访问 K8s 集群。如果您尚未在本地安装kubectl ,请参阅《在 minikube 中使用 kubectl》。
下一步
如果您的硬件和软件满足要求,您可以:
有关安装 Milvus 时可设置的参数,请参阅《系统配置》。