Skip to content

sharding-db/milvus-operator

 
 

Repository files navigation

Milvus Operator

CI Pipeline codecov Go Reference license

ATTENTIONS: THE MAIN BRANCH MAY BE IN AN UNSTABLE OR EVEN BROKEN STATE DURING DEVELOPMENT.

Overview

Milvus is a cloud-native, open-source vector database built to manage embedding vectors generated by machine learning models and neural networks. It extends the capabilities of best-in-class approximate nearest neighbor (ANN) search libraries (e.g. Faiss, NMSLIB, Annoy) and features on-demand scalability, and high availability.

The Milvus Operator provides an easy and solid solution to deploy and manage a full Milvus service stack including both the milvus components and its relevant dependencies such as etcd, pulsar and minio to the target Kubernetes clusters in a scalable and high-available way. The Milvus Operator defines a milvuscluster custom resources on top of Kubernetes Custom Resources. The Kubernetes API can then be used in a declarative way to manage Milvus deployment stack and ensure its scalability and high-availability operation.

Getting started

Deploy milvus operator

Install with helm:

helm install milvus-operator \
  -n milvus-operator --create-namespace \
  https://github.com/milvus-io/milvus-operator/releases/download/v0.6.8/milvus-operator-0.6.8.tgz

Or install with kubectl & raw manifests:

kubectl apply -f https://raw.githubusercontent.com/milvus-io/milvus-operator/v0.6.8/deploy/manifests/deployment.yaml

For more infomation Check instructions on how to install/uninstall milvus operator

Create milvus cluster

kubectl apply -f https://raw.githubusercontent.com/milvus-io/milvus-operator/main/config/samples/milvuscluster_default.yaml

Versioning

Versions of the underlying components are listed below:

Components Milvus Pulsar / Kafka Etcd MinIO
Versions v2.1.4 [1] 2.8.2 / 3.1.0 3.5.0 RELEASE.2022-03-17T06-34-49Z

NOTES:

[1] Version of milvus is the default version we will use, you can set it to other version. The Compatibility with milvus releases is showed below.

Compatibility With Milvus Releases

Milvus Versions <=v2.0.0-rc8 v2.0.0-pre-ga >=v2.0.0
Compatibility ✖️ ✔️ ✔️

Compatibility With Milvus-Operator Earlier Releases

Milvus Operator Versions <0.4.0 >=0.4.0
Compatibility ✖️ ✔️

NOTES:

✔️ : support ✖️ : not support

Documentation

Packages

No packages published

Languages

  • Go 89.9%
  • Makefile 4.4%
  • Shell 3.2%
  • Python 1.7%
  • Other 0.8%