Windos 环境下 Milvus 向量数据库的 k8s 集群部署

先决条件

  • 安装并启动 Docker
  • 下载 kubectl.exe之后将文件路径加入环境变量
  • 安装 Minikube并加入环境变量
  • 下载安装 Helm

用 minikube 启动 k8s 集群

在终端中执行如下命令启动 k8s 集群:

1
minikube start

检查 k8s 集群状态

执行指令:

1
kubectl get sc

返回:

1
standard (default)   k8s.io/minikube-hostpath   Delete          Immediate           false                  8s

安装 Helm Chart for Milvus

Helm 是一个 K8s 包管理器,快速部署 Milvus。

将 Milvus 添加到 Helm 的仓库中

执行命令:

1
helm repo add milvus https://zilliztech.github.io/milvus-helm/

更行本地 Helm 储存库

执行命令:

1
helm repo update

启动 Milvus

安装好了 Helm Chart 之后,执行命令:

1
helm install my-release milvus/milvus --set cluster.enabled=false --set etcd.replicaCount=1 --set minio.mode=standalone --set pulsar.enabled=false

如果报错无法连接到服务器,可以将安装文件下载到本地再执行命令

1
helm install my-release filename.tgz --set cluster.enabled=false --set etcd.replicaCount=1 --set minio.mode=standalone --set pulsar.enabled=false

我的下载连接是从自己的报错信息中获取的:

1
Error: INSTALLATION FAILED: Get "https://objects.githubusercontent.com/github-production-release-asset-2e65be/675602052/79687a74-de70-49f5-a94d-3a8c8b0bae26?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240222%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240222T144025Z&X-Amz-Expires=300&X-Amz-Signature=4ed39d115abc5e16adfb46ed03fe60a8d8debfec3abcf0e0f9c5be751c7acf31&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=675602052&response-content-disposition=attachment%3B%20filename%3Dmilvus-4.1.18.tgz&response-content-type=application%2Foctet-stream": read tcp 100.64.131.14:29116->185.199.108.133:443: wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

就是其中 Get 之后双引号内的网址。

启动之后再执行 kubectl get pods 直到返回:

1
2
3
4
NAME                                            READY   STATUS    RESTARTS   AGE
my-release-etcd-0 1/1 Running 0 3m17s
my-release-milvus-standalone-6bc558d66d-plxpk 1/1 Running 0 3m17s
my-release-minio-5fb685db85-h7w2x 1/1 Running 0 3m17s

连接到 Milvus

执行如下命令:

1
kubectl port-forward service/my-release-milvus 19530

返回:

1
2
Forwarding from 127.0.0.1:19530 -> 19530
Forwarding from [::1]:19530 -> 19530

卸载 Milvus 实例

执行命令:

1
helm uninstall my-release

停用集群

执行命令:

1
minikube stop

停用集群不删除向量数据库的数据。

删除集群

执行命令:

1
minikube delete

本文参考

  • Install Milvus Standalone with Kubernetes
  • Milvus 帮助手册 - 教程 - V2 版本