使用 Docker Compose 或 Helm 設定物件儲存
Milvus 預設使用 MinIO 作為物件儲存,但它也支援使用Amazon Simple Storage Service (S3)作為日誌和索引檔案的持久性物件儲存。本主題描述如何為 Milvus 設定 S3。如果您滿意 MinIO,可以跳過本主題。
您可以使用Docker Compose或在 K8s 上設定 S3。
使用 Docker Compose 設定 S3
1.設定 S3
MinIO與 S3 相容。要使用 Docker Compose 設定 S3,請在 milvus/configs 路徑上的milvus.yaml
檔案中提供minio
部分的值。
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
環境變數,讓 milvus 服務在docker-compose.yaml
。預設的情況下,milvus 會使用本機的 minio 而不是外部的 S3。
3.執行 Milvus
執行下列指令啟動使用 S3 配置的 Milvus。
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.rootPath | S3 儲存的根目錄。 | 預設為 emtpy 字串。 |
externalS3.accessKey | S3 的存取金鑰 ID。 | |
externalS3.secretKey | S3 的秘密存取金鑰。 | |
externalS3.bucketName | S3 儲存桶的名稱。 | |
externalS3.useSSL | 連接時是否使用 SSL | 預設值為false |
使用 YAML 檔案
- 在
values.yaml
檔案中設定minio
部分。
minio:
enabled: false
- 使用您在
values.yaml
檔案中的值配置externalS3
部分。
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>"
- 配置前面的部分並儲存
values.yaml
檔案後,執行下列指令安裝使用 S3 配置的 Milvus。
helm install <your_release_name> milvus/milvus -f values.yaml
使用指令
要安裝 Milvus 並配置 S3,請使用您的值執行下列指令。
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 依賴項目: