Install Milvus Standalone

This topic describes how to install Milvus standalone with Docker Compose or on Kubernetes.

Check the requirements for hardware and software prior to your installation.

If you run into image loading errors while installing, you can Install Milvus Offline.

You can also build Milvus from source code at GitHub.

We recommend installing Milvus on Kubernetes with minikube. minikube has a dependency on default storageclass when installed. Check the dependency by running the following command. Other installation methods requires manual configuration of the storageclass. See Change the Default Storageclass for more information.

$ kubectl get sc
NAME                  PROVISIONER                  RECLAIMPOLICY    VOLUMEBIINDINGMODE    ALLOWVOLUMEEXPANSION     AGE
standard (default)    k8s.io/minikube-hostpath     Delete           Immediate             false                    3m36s

Start a K8s cluster

minikube is a tool that allows you to run Kubernetes locally.

$ minikube start

Install Helm Chart for Milvus

Helm is a Kubernetes package manager that can help you deploy Milvus quickly.

  1. Add Milvus Helm repository.
$ helm repo add milvus https://milvus-io.github.io/milvus-helm/
  1. Update charts locally.
$ helm repo update

Configure and start Milvus

Start Milvus with Helm by specifying the release name, the chart, and parameters you expect to change. This topic uses my-release as the release name. To use a different release name, replace my-release in the command.

By running helm show values milvus/milvus, you can check the parameters that can be modified directly with Chart. You can configure these parameters by adding --values or --set in the command for installation. For more information, see Milvus Standalone System Configurations.

$ helm install my-release milvus/milvus --set cluster.enabled=false --set etcd.replicaCount=1 --set minio.mode=standalone --set pulsar.enabled=false
See Milvus Helm Chart and Helm for more information.

Check the status of the running pods.

$ kubectl get pods

After Milvus starts, the READY column displays 1/1 for all pods.

NAME                                               READY   STATUS      RESTARTS   AGE
my-release-etcd-0                                  1/1     Running     0          30s
my-release-milvus-standalone-54c4f88cb9-f84pf      1/1     Running     0          30s
my-release-minio-5564fbbddc-mz7f5                  1/1     Running     0          30s

Connect to Milvus

Open a new terminal and run the following command to forward the local port to the port that Milvus uses.

$ kubectl port-forward service/my-release-milvus 19530
Forwarding from 127.0.0.1:19530 -> 19530

Uninstall Milvus

Run the following command to uninstall Milvus.

$ helm uninstall my-release

Stop the K8s cluster

Stop the cluster and the minikube VM without deleting the resources you created.

$ minikube stop

Run minikube start to restart the cluster.

Delete the K8s cluster

Delete the cluster, the minikube VM, and all resources you created including persistent volumes.

$ minikube delete
Run $ kubectl logs `pod_name` to get the stderr log of the pod before deleting the cluster and all resources.

What's next

Having installed Milvus, you can:

Is this page helpful?
Scored Successfully!