在 Kubernetes 上运行 Milvus 的要求
本页列出了运行 Milvus 所需的硬件和软件要求。
硬件要求
组件 | 要求 | 推荐配置 | 说明 |
---|---|---|---|
CPU |
|
| |
CPU 指令集 |
|
| Milvus 中的向量相似度搜索和索引构建需要 CPU 支持单指令多数据(SIMD)扩展指令集。请确保 CPU 至少支持列出的一种 SIMD 扩展。更多信息请参见 支持 AVX 的 CPU。 |
RAM |
|
| 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.2023-03-20T20-16-18Z | |
Pulsar | 2.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 集群用于测试?
您可以使用 minikube、kind 和 Kubeadm 等工具在本地快速设置 Kubernetes 集群。以下步骤以 minikube 为例。
- 下载 minikube
访问入门页面,检查是否满足"What you'll need"部分列出的条件,点击描述您目标平台的按钮,并复制命令以下载和安装二进制文件。
- 使用 minikube 启动 K8s 集群
$ minikube start
- 检查 K8s 集群状态
您可以使用以下命令检查已安装的 K8s 集群状态。
$ kubectl cluster-info
确保您可以通过 kubectl
访问 K8s 集群。如果您尚未在本地安装 kubectl
,请参见 在 minikube 中使用 kubectl。
下一步
-
如果您的硬件和软件满足要求,您可以:
-
查看系统配置了解安装 Milvus 时可以设置的参数。