Configure Meta Storage with Docker Compose or Helm
Milvus uses etcd for storing metadata. This topic introduces how to configure etcd with Docker Compose or Helm.
Configure etcd with Docker Compose
1. Configure etcd
To configure etcd with Docker Compose, provide your values for the etcd
section in the milvus.yaml
file on the milvus/configs path.
etcd:
endpoints:
- localhost:2379
rootPath: by-dev # The root path where data are stored in etcd
metaSubPath: meta # metaRootPath = rootPath + '/' + metaSubPath
kvSubPath: kv # kvRootPath = rootPath + '/' + kvSubPath
log:
# path is one of:
# - "default" as os.Stderr,
# - "stderr" as os.Stderr,
# - "stdout" as os.Stdout,
# - file path to append server logs to.
# please adjust in embedded Milvus: /tmp/milvus/logs/etcd.log
path: stdout
level: info # Only supports debug, info, warn, error, panic, or fatal. Default 'info'.
use:
# please adjust in embedded Milvus: true
embed: false # Whether to enable embedded Etcd (an in-process EtcdServer).
data:
# Embedded Etcd only.
# please adjust in embedded Milvus: /tmp/milvus/etcdData/
dir: default.etcd
See etcd-related Configurations for more information.
2. Run Milvus
Run the following command to start Milvus that uses the etcd configurations.
docker-compose up
Configure etcd on K8s
For Milvus clusters on K8s, you can configure etcd in the same command that starts Milvus. Alternatively, you can configure etcd using the values.yml
file on the /charts/milvus path in the milvus-helm repository before you start Milvus.
The following table lists the keys for configuring etcd in the YAML file.
Key | Description | Value |
---|---|---|
etcd.enabled | Enables or disables etcd. | true /false |
externalEtcd.enabled | Enables or disables external etcd. | true /false |
externalEtcd.endpoints | The endpoint to access etcd. |
Using the YAML file
- Configure the
etcd
section using your values in thevalues.yaml
file.
etcd:
enabled: false
- Configure the
externaletcd
section using your values in thevalues.yaml
file.
externalEtcd:
enabled: true
## the endpoints of the external etcd
endpoints:
- <your_etcd_IP>:2379
- After configuring the preceding sections and saving the
values.yaml
file, run the following command to install Milvus that uses the etcd configurations.
helm install <your_release_name> milvus/milvus -f values.yaml
Using a command
To install Milvus and configure etcd, run the following command using your values.
helm install <your_release_name> milvus/milvus --set cluster.enabled=true --set etcd.enabled=false --set externaletcd.enabled=true --set externalEtcd.endpoints={<your_etcd_IP>:2379}
What’s next
Learn how to configure other Milvus dependencies with Docker Compose or Helm: