跳到主要内容

在 Kubernetes 上运行 Milvus 的要求

本页列出了运行 Milvus 所需的硬件和软件要求。

硬件要求

组件要求推荐配置说明
CPU
  • Intel 第二代酷睿或更高
  • Apple Silicon
  • 单机版:4核或更多
  • 集群版:8核或更多
CPU 指令集
  • SSE4.2
  • AVX
  • AVX2
  • AVX-512
  • SSE4.2
  • AVX
  • AVX2
  • AVX-512
Milvus 中的向量相似度搜索和索引构建需要 CPU 支持单指令多数据(SIMD)扩展指令集。请确保 CPU 至少支持列出的一种 SIMD 扩展。更多信息请参见 支持 AVX 的 CPU
RAM
  • 单机版:8G
  • 集群版:32G
  • 单机版:16G
  • 集群版:128G
RAM 大小取决于数据量。
硬盘SATA 3.0 SSD 或云存储NVMe SSD 或更高硬盘大小取决于数据量。

软件要求

建议在 Linux 平台上运行 Kubernetes 集群。

kubectl 是 Kubernetes 的命令行工具。使用的 kubectl 版本应该与集群版本相差不超过一个小版本。使用最新版本的 kubectl 有助于避免不可预见的问题。

在本地运行 Kubernetes 集群时需要 minikube。minikube 依赖于 Docker。请确保在使用 Helm 安装 Milvus 之前安装 Docker。更多信息请参见 获取 Docker

操作系统软件说明
Linux 平台
  • Kubernetes 1.16 或更高
  • kubectl
  • Helm 3.0.0 或更高
  • minikube(用于 Milvus 单机版)
  • Docker 19.03 或更高(用于 Milvus 单机版)
更多信息请参见 Helm 文档
软件版本说明
etcd3.5.0请参见额外的磁盘要求
MinIORELEASE.2023-03-20T20-16-18Z
Pulsar2.8.2

额外的磁盘要求

磁盘性能对 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 延迟低于 10ms。更详细的要求请参见 etcd 文档

常见问题

如何在本地启动 K8s 集群用于测试?

您可以使用 minikubekindKubeadm 等工具在本地快速设置 Kubernetes 集群。以下步骤以 minikube 为例。

  1. 下载 minikube

访问入门页面,检查是否满足"What you'll need"部分列出的条件,点击描述您目标平台的按钮,并复制命令以下载和安装二进制文件。

  1. 使用 minikube 启动 K8s 集群
$ minikube start
  1. 检查 K8s 集群状态

您可以使用以下命令检查已安装的 K8s 集群状态。

$ kubectl cluster-info

确保您可以通过 kubectl 访问 K8s 集群。如果您尚未在本地安装 kubectl,请参见 在 minikube 中使用 kubectl

下一步