BlogsMilvusMilvus Operator for Kubernetes Deployment

Milvus Operator for Kubernetes Deployment

Milvus Operator for Kubernetes Deployment

4
posts
2024–2025

The Milvus Operator simplifies the deployment and lifecycle management of Milvus clusters on Kubernetes. It automates deployment, scaling, upgrades, and health checks, abstracting away the complexity of managing individual Kubernetes resources and dependencies like etcd, Pulsar, and MinIO. This enables users to describe their desired Milvus state via Custom Resources, with the Operator handling the underlying orchestration and ensuring reliability through continuous monitoring and self-healing capabilities. This post provides a practical guide to deploying a Milvus cluster in cluster-mode on Kubernetes using Helm, including prerequisites, setup steps, and verification of the deployment. It also demonstrates basic data ingestion and similarity search using the pymilvus SDK.

2025

Deploying Milvus on Kubernetes Just Got Easier with the Milvus Operator

8/4/2025

This post introduces the Milvus Operator, a Kubernetes-native tool that automates the deployment and lifecycle management of Milvus clusters. It details the Kubernetes Operator pattern, explaining how Custom Resource Definitions, Controllers, and State Management work together. The post outlines the Operator's core capabilities: automated deployment, lifecycle management (upgrades, scaling, teardown), built-in monitoring, and operational best practices. It contrasts the Operator's advantages over manual YAML or Helm deployments, emphasizing operation automation, better state visibility, and easier long-term management. The post also includes a technical walkthrough of installing the Operator and deploying a Milvus cluster using Custom Resources, specifying prerequisites and configuration options.

2024

Deploying Milvus on Kubernetes: A Step-by-Step Guide for Kubernetes Users

9/26/2024

This post provides a comprehensive, step-by-step guide for deploying Milvus on Kubernetes using the Milvus Operator. It covers setting up prerequisites like Minikube and kubectl, configuring StorageClasses, installing cert-manager, deploying the Milvus Operator itself, and finally deploying a Milvus cluster using a default configuration YAML. It also details how to access the deployed cluster via port-forwarding and demonstrates connecting to it using the PyMilvus SDK. The post emphasizes the ease of deployment and management offered by the Milvus Operator for Kubernetes users.

How to Deploy the Open-Source Milvus Vector Database on Amazon EKS

8/9/2024

This post provides a detailed guide on deploying Milvus on Amazon EKS, a managed Kubernetes service. It covers the prerequisites, considerations for setting up Amazon MSK (including Kafka configurations and authentication), and the process of creating an EKS cluster using `eksctl`. The post outlines the necessary IAM roles for Milvus to access AWS services like S3 and details the configuration of the EKS cluster itself, including networking and node groups. It serves as a practical example of deploying Milvus in a distributed, cloud-native environment, reinforcing the capabilities managed by the Milvus Operator.

Getting started with Milvus cluster and K8s

4/3/2024

This post provides a practical guide to deploying a Milvus cluster in cluster-mode on Kubernetes using Helm. It details the prerequisites (Docker, Kubernetes, Helm, Kubectl), the steps for setting up a Kubernetes cluster (using minikube as an example), and the Helm command for installing Milvus with Kafka enabled and Pulsar disabled. It also covers port forwarding for local access and verification of the deployment by checking Kubernetes pods. Finally, it includes a basic example of connecting to the deployed Milvus instance using the pymilvus SDK, creating a collection, inserting data, and performing a similarity search.