跳到主要内容
版本:v2.4.x

使用 Docker Compose 或 Helm 配置对象存储

Milvus 默认使用 MinIO 作为对象存储,但它也支持使用 亚马逊简单存储服务(S3) 作为日志和索引文件的持久对象存储。本主题介绍如何为 Milvus 配置 S3。如果您对 MinIO 感兴趣,可以跳过此主题。

您可以使用 Docker Compose 或在 K8s 上配置 S3。

使用 Docker Compose 配置 S3

1. 配置 S3

MinIO 与 S3 兼容。要使用 Docker Compose 配置 S3,请在 milvus/configs 路径上的 milvus.yaml 文件中提供 minio 部分的值。

YAML
minio:
address: <your_s3_endpoint>
port: <your_s3_port>
accessKeyID: <your_s3_access_key_id>
secretAccessKey: <your_s3_secret_access_key>
useSSL: <true/false>
bucketName: "<your_bucket_name>"

有关详细信息,请参阅 MinIO/S3 配置

2. 完善 docker-compose.yaml

你还需要删除 MINIO_ADDRESS 环境变量,以便在 docker-compose.yaml 中为 milvus 服务设置环境变量。默认情况下,milvus 将使用本地 minio 而不是外部 S3。

3. 运行 Milvus

运行以下命令启动使用 S3 配置的 Milvus。

Shell
docker compose up
说明

配置仅在 Milvus 启动后生效。有关详细信息,请参阅 启动 Milvus

在 K8s 上配置 S3

对于 K8s 上的 Milvus 集群,可以在启动 Milvus 的同一命令中配置 S3。或者,也可以在启动 Milvus 前,使用 milvus-helm 仓库中 /charts/milvus 路径下的 values.yml 文件配置 S3。

下表列出了在 YAML 文件中配置 S3 的关键字。

描述
minio.enabled启用或禁用 MinIO。true/false
externalS3.enabled启用或禁用 S3。true/false
externalS3.host访问 S3 的端点。
externalS3.port访问 S3 的端口。
externalS3.rootPathS3 存储的根路径。默认为 emtpy 字符串。
externalS3.accessKeyS3 的访问密钥 ID。
externalS3.secretKeyS3 的秘密访问密钥。
externalS3.bucketNameS3 存储桶的名称。
externalS3.useSSL连接时是否使用 SSL默认值为 false

使用 YAML 文件

  1. values.yaml 文件中配置 minio 部分。
YAML
minio:
enabled: false
  1. 使用 values.yaml 文件中的值配置 externalS3 部分。
YAML
externalS3:
enabled: true
host: "<your_s3_endpoint>"
port: "<your_s3_port>"
accessKey: "<your_s3_access_key_id>"
secretKey: "<your_s3_secret_key>"
useSSL: <true/false>
bucketName: "<your_bucket_name>"
  1. 配置前述部分并保存 values.yaml 文件后,运行以下命令安装使用 S3 配置的 Milvus。
Shell
helm install <your_release_name> milvus/milvus -f values.yaml

使用命令

要安装 Milvus 并配置 S3,请使用您的值运行以下命令。

Shell
helm install <your_release_name> milvus/milvus --set cluster.enabled=true  --set minio.enabled=false --set externalS3.enabled=true --set externalS3.host=<your_s3_endpoint> --set externalS3.port=<your_s3_port> --set externalS3.accessKey=<your_s3_access_key_id> --set externalS3.secretKey=<your_s3_secret_key> --set externalS3.bucketName=<your_bucket_name>

下一步

了解如何使用 Docker Compose 或 Helm 配置 Milvus 的其他依赖项: