For more information about installing and using Helm, see the Helm Docs. For a quick introduction to Charts, see the Chart Guide.
To install Milvus, refer to Milvus installation.
This chart bootstraps Milvus deployment on a Kubernetes cluster using the Helm package manager.
- Kubernetes 1.10+
- Helm >= 2.12.0
To install the chart with the release name my-release
:
# Helm v2.x
$ cd milvus-helm
$ helm install --name my-release .
or
# Helm v3.x
$ cd milvus-helm
$ helm install my-release .
After a few minutes, you should see service statuses being written to the configured output, which is a log file inside the Milvus container.
Tip: To list all releases, using
helm list
.
To uninstall/delete the my-release deployment:
# Helm v2.x
$ helm delete my-release
or
# Helm v3.x
$ helm uninstall my-release
The command removes all the Kubernetes components associated with the chart and deletes the release.
The following table lists the configurable parameters of the Milvus server and their default values.
Parameter | Description | Default |
---|---|---|
primaryPath |
Path used to store data and metadata | /var/lib/milvus/data |
timeZone |
Time zone | UTC+8 |
backendURL |
URI format: dialect://username:password@host:port/database. Replace 'dialect' with 'mysql' or 'sqlite' | "" |
deployMode |
Deployment type: single, cluster_readonly, cluster_writable | single |
insertBufferSize |
Maximum insert buffer size allowed (GB) | 1 |
cpuCacheCapacity |
Size of CPU memory used for cache (GB) | 4 |
cacheInsertData |
Load inserted data into cache | false |
useBLASThreshold |
BLAS threshold | 1100 |
gpuSearchThreshold |
GPU search threshold | 1100 |
gpu.enabled |
Enable GPU resources | false |
gpu.cacheCapacity |
Size of GPU memory per card used for cache (GB) | 1 |
gpu.searchResources |
Define the GPU devices used for search computation | [gpu0] |
gpu.buildIndexResources |
Define the GPU devices used for index building | [gpu0] |
metrics.enabled |
Set this to true to enable exporting Prometheus monitoring metrics |
false |
metrics.port |
Prometheus monitoring metrics port | 8080 |
The following table lists the configurable parameters of the Milvus chart and their default values.
Parameter | Description | Default |
---|---|---|
replicas |
Number of nodes | 1 |
initContainerImage |
Init container image | alpine:3.8 |
image.repository |
Image repository | milvusdb/milvus |
image.tag |
Image tag | cpu-latest |
image.pullPolicy |
Image pull policy | IfNotPresent |
image.pullSecrets |
Image pull secrets | {} |
resources |
CPU/GPU/Memory resource requests/limits | {} |
extraInitContainers |
Additional init containers | [] |
extraContainers |
Additional containers | unset |
extraVolumes |
Additional volumes for use in extraContainers | unset |
extraVolumeMounts |
Additional volume mounts to add to the pods | unset |
extraConfigFiles |
Content of additional configuration files. | {} |
livenessProbe |
Liveness Probe settings | { "tcpSocket": { "port": 19530 } "initialDelaySeconds": 15, "periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 5 } |
readinessProbe |
Readiness Probe settings | { "tcpSocket": { "port": 19530 } "initialDelaySeconds": 15, "periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3 } |
service.type |
Kubernetes service type | ClusterIP |
service.port |
Kubernetes port where service is exposed | 19530 |
service.portName |
Name of the port on the service | service |
service.nodePort |
Kubernetes service nodePort | unset |
service.annotations |
Service annotations | {} |
service.labels |
Custom labels | {} |
service.clusterIP |
Internal cluster service IP | unset |
service.loadBalancerIP |
IP address to assign to load balancer (if supported) | unset |
service.loadBalancerSourceRanges |
list of IP CIDRs allowed access to lb (if supported) | [] |
serivce.externalIPs |
service external IP addresses | [] |
persistence.enabled |
Use persistent volume to store data | false |
persistence.annotations |
PersistentVolumeClaim annotations | {} |
persistence.persistentVolumeClaim.existingClaim |
Use your own data Persistent Volume existing claim name | unset |
persistence.persistentVolumeClaim.storageClass |
The Milvus data Persistent Volume Storage Class | unset |
persistence.persistentVolumeClaim.accessModes |
The Milvus data Persistence access modes | ReadWriteMany |
persistence.persistentVolumeClaim.size |
The size of Milvus data Persistent Volume Storage Class | 50Gi |
persistence.persistentVolumeClaim.subPath |
SubPath for Milvus data mount | data |
nodeSelector |
Node labels for pod assignment | {} |
tolerations |
Toleration labels for pod assignment | [] |
affinity |
Affinity settings for pod assignment | {} |
podAnnotations |
Additional pod annotations | {} |
podDisruptionBudget.minAvailable |
Pod disruption minimum available | unset |
podDisruptionBudget.maxUnavailable |
Pod disruption maximum unavailable | unset |
The following table lists the configurable parameters of the mysql chart and their default values.
Parameter | Description | Default |
---|---|---|
mysql.enable |
Enable deployment of MySQL | true |
mysql.mysqlDatabase |
Database name | milvus |
mysql.imageTag |
Image targe | 5.7.14 |
mysql.imagePullPolicy |
Image pull policy | IfNotPresent |
mysql.mysqlUser |
Username of new user to create. | milvus |
mysql.mysqlPassword |
Password for the new user. Ignored if existing secret is provided | milvus |
mysql.mysqlRootPassword |
Password for the root user. Ignored if existing secret is provided | milvusroot |
mysql.configurationFiles |
List of mysql configuration files | ... |
mysql.initializationFiles |
List of SQL files which are run after the container started | ... |
mysql.persistence.enabled |
Create a volume to store data | true |
mysql.persistence.existingClaim |
Name of existing persistent volume | unset |
mysql.persistence.annotations |
Persistent Volume annotations | {} |
mysql.persistence.storageClass |
Type of persistent volume claim | unset |
mysql.persistence.accessMode |
ReadWriteOnce or ReadOnly | ReadWriteOnce |
mysql.persistence.size |
Size of persistent volume claim | 8Gi |