-
Notifications
You must be signed in to change notification settings - Fork 3k
Deploy Milvus with External Components
Suppose you already have started MinIO, pulsar and Etcd services, and you want to use these existing services to deploy a Milvus cluster.
This document will teach you how to deploy a Milvus cluster based on the existing third-party components without starting new MinIO, pulsar and Etcd services.
When using helm to start the Milvus cluster, you need to modify the corresponding configuration in values.yaml. So we need to download values.yaml first.
wget https://raw.githubusercontent.com/milvus-io/milvus-helm/master/charts/milvus/values.yaml
You can deploy Milvus with external Minio or S3 as storage by setting up these parameters as follows in values.yaml:
Parameter | Description | Value |
---|---|---|
minio.enable | Enable or disable MinIO | false |
externalS3.enabled | Enable or disable external S3/MinIO | true |
externalS3.host | Endpoint of the external S3/MinIO | |
externalS3.port | Port of the external S3/MinIO | |
externalS3.accessKey | accessKey of the external S3/MinIO | |
externalS3.secretKey | secretKey of the external S3/MinIO | |
externalS3.useSSL | Enable or disable SSL | |
externalS3.bucketName | S3 bucket name |
For example:
minio:
enabled: false
externalS3:
enabled: true
host: "127.0.0.1"
port: "9000"
accessKey: "minioadmin"
secretKey: "minioadmin"
useSSL: false
bucketName: "milvus-1"
Note
You can use the same MinIO service to start multiple Milvus services, you only need to configure a different bucketName for each Milvus.
To deploy Milvus with external Etcd, you need to modify these parameters as follow in value.yaml, so that disable to start a Etcd service when start the Milvus service, and use existing Etcd service.
Parameter | Description | Value |
---|---|---|
metadata.rootPath | Root of key prefix to etcd | |
etcd.enable | Enable or disable Etcd | false |
externalEtcd.enabled | Enable or disable external Etcd | true |
externalEtcd.endpoints | Endpoints of Etcd |
For example:
metadata:
rootPath: "by-dev"
etcd:
enabled: false
externalEtcd:
enabled: true
endpoints:
- 127.0.0.1:2379
Note:
You can use the same Etcd service to start multiple Milvus services, you only need to configure a different metadata.rootpath for each Milvus.
To deploy Milvus with external pulsar, you need to modify these parameters as follow in value.yaml, so that disable to start a pulsar service when start the Milvus service, and use existing pulsar service
Parameter | Description | Value |
---|---|---|
msgChannel.chanNamePrefix.cluster | The name prefix of the pulsar message channel | |
pulsar.enabled | Enable or disable pulsar | false |
externalPulsar.enabled | Enable or disable external pulsar | true |
externalPulsar.host | host of pulsar | |
externalPulsar.port | port of pulsar |
For example:
msgChannel:
chanNamePrefix:
cluster: "by-dev"
pulsar:
enabled: true
externalPulsar:
enabled: false
host: localhost
port: 6650
Note:
You can use the same Pulsar service to start multiple Milvus services, you only need to configure a different
msgChannel.chanNamePrefix.cluster
for each Milvus.
After modify these parameters, you can run a Milvus cluster with helm.
helm install <release-name> milvus/milvus -f values.yaml