k8s下部署miluvs2.5.27

📅 2026/7/4 16:45:45 👁️ 阅读次数 📝 编程学习
k8s下部署miluvs2.5.27

环境:
Os:Centos 7
miluvs:2.5.27

 

##############################前置准备项###############################
安装好minio
https://www.cnblogs.com/hxlasky/p/19953948

安装好etcd
https://www.cnblogs.com/hxlasky/p/19945112

安装好kafka
https://www.cnblogs.com/hxlasky/p/19950657

 

#############################milvus部署###############################
1.打标签
k8s master节点上执行
kubectl get nodes
kubectl label nodes test-k8s-192.168.1.162 milvus=allowed
kubectl get nodes --show-labels

 

2.各组件yaml文件

1-milvus-ns.yaml

apiVersion: v1
kind: Namespace
metadata:name: hxlmilvus

 

2-milvus-configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:name: milvus-confignamespace: hxlmilvuslabels:app: milvus
data:milvus.yaml: |etcd:endpoints:- etcd-0-0.etcd-headless.hxletcd.svc.cluster.local:2379- etcd-1-0.etcd-headless.hxletcd.svc.cluster.local:2379- etcd-2-0.etcd-headless.hxletcd.svc.cluster.local:2379rootPath: milvus/metause: etcdkafka:brokerList: kafka-0-0.kafka-headless.hxlkafka.svc.cluster.local:9092,kafka-1-0.kafka-headless.hxlkafka.svc.cluster.local:9092,k
afka-2-0.kafka-headless.hxlkafka.svc.cluster.local:9092use: kafkaminio:address: minio-0-0.minio-headless.hxlminio.svc.cluster.local:9000port: 9000accessKeyID: minioadminsecretAccessKey: minioadmin123456bucketName: milvus-bucketuse: miniolocalStorage:path: /var/lib/milvus

 

3-milvus-rootcoord.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: milvus-rootcoordnamespace: hxlmilvuslabels:app: milvuscomponent: rootcoord
spec:replicas: 1selector:matchLabels:app: milvuscomponent: rootcoordtemplate:metadata:labels:app: milvuscomponent: rootcoordspec:nodeSelector:milvus: allowedcontainers:- name: rootcoordimage: registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.5.27command: ["milvus", "run", "rootcoord"]volumeMounts:- name: milvus-configmountPath: /milvus/configs/milvus.yamlsubPath: milvus.yamlvolumes:- name: milvus-configconfigMap:name: milvus-config

 

4-milvus-datacoord.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: milvus-datacoordnamespace: hxlmilvuslabels:app: milvuscomponent: datacoord
spec:replicas: 1selector:matchLabels:app: milvuscomponent: datacoordtemplate:metadata:labels:app: milvuscomponent: datacoordspec:nodeSelector:milvus: allowedcontainers:- name: datacoordimage: registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.5.27command: ["milvus", "run", "datacoord"]volumeMounts:- name: milvus-configmountPath: /milvus/configs/milvus.yamlsubPath: milvus.yamlvolumes:- name: milvus-configconfigMap:name: milvus-config

 

5-milvus-querycoord.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: milvus-querycoordnamespace: hxlmilvuslabels:app: milvuscomponent: querycoord
spec:replicas: 1selector:matchLabels:app: milvuscomponent: querycoordtemplate:metadata:labels:app: milvuscomponent: querycoordspec:nodeSelector:milvus: allowedcontainers:- name: querycoordimage: registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.5.27command: ["milvus", "run", "querycoord"]volumeMounts:- name: milvus-configmountPath: /milvus/configs/milvus.yamlsubPath: milvus.yamlvolumes:- name: milvus-configconfigMap:name: milvus-config

 

6-milvus-indexcoord.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: milvus-indexcoordnamespace: hxlmilvuslabels:app: milvuscomponent: indexcoord
spec:replicas: 1selector:matchLabels:app: milvuscomponent: indexcoordtemplate:metadata:labels:app: milvuscomponent: indexcoordspec:nodeSelector:milvus: allowedcontainers:- name: indexcoordimage: registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.5.27command: ["milvus", "run", "indexcoord"]volumeMounts:- name: milvus-configmountPath: /milvus/configs/milvus.yamlsubPath: milvus.yamlvolumes:- name: milvus-configconfigMap:name: milvus-config

 

7-milvus-datanode.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: milvus-datanodenamespace: hxlmilvuslabels:app: milvuscomponent: datanode
spec:replicas: 1selector:matchLabels:app: milvuscomponent: datanodetemplate:metadata:labels:app: milvuscomponent: datanodespec:nodeSelector:milvus: allowedcontainers:- name: datanodeimage: registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.5.27command: ["milvus", "run", "datanode"]volumeMounts:- name: milvus-configmountPath: /milvus/configs/milvus.yamlsubPath: milvus.yamlvolumes:- name: milvus-configconfigMap:name: milvus-config

 

8-milvus-querynode.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: milvus-querynodenamespace: hxlmilvuslabels:app: milvuscomponent: querynode
spec:replicas: 1selector:matchLabels:app: milvuscomponent: querynodetemplate:metadata:labels:app: milvuscomponent: querynodespec:nodeSelector:milvus: allowedcontainers:- name: querynodeimage: registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.5.27command: ["milvus", "run", "querynode"]volumeMounts:- name: milvus-configmountPath: /milvus/configs/milvus.yamlsubPath: milvus.yamlvolumes:- name: milvus-configconfigMap:name: milvus-config

 

9-milvus-indexnode.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: milvus-indexnodenamespace: hxlmilvuslabels:app: milvuscomponent: indexnode
spec:replicas: 1selector:matchLabels:app: milvuscomponent: indexnodetemplate:metadata:labels:app: milvuscomponent: indexnodespec:nodeSelector:milvus: allowedcontainers:- name: indexnodeimage: registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.5.27command: ["milvus", "run", "indexnode"]volumeMounts:- name: milvus-configmountPath: /milvus/configs/milvus.yamlsubPath: milvus.yamlvolumes:- name: milvus-configconfigMap:name: milvus-config

 

10-milvus-proxy.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: milvus-indexnodenamespace: hxlmilvuslabels:app: milvuscomponent: indexnode
spec:replicas: 1selector:matchLabels:app: milvuscomponent: indexnodetemplate:metadata:labels:app: milvuscomponent: indexnodespec:nodeSelector:milvus: allowedcontainers:- name: indexnodeimage: registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.5.27command: ["milvus", "run", "indexnode"]volumeMounts:- name: milvus-configmountPath: /milvus/configs/milvus.yamlsubPath: milvus.yamlvolumes:- name: milvus-configconfigMap:name: milvus-config
[root@yunwei-k8s-master1-test milvus]# more 10-milvus-proxy.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:name: milvus-proxynamespace: hxlmilvuslabels:app: milvuscomponent: proxy
spec:replicas: 1selector:matchLabels:app: milvuscomponent: proxytemplate:metadata:labels:app: milvuscomponent: proxyspec:nodeSelector:milvus: allowedcontainers:- name: proxyimage: registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.5.27command: ["milvus", "run", "proxy"]ports:- containerPort: 19530- containerPort: 9091volumeMounts:- name: milvus-configmountPath: /milvus/configs/milvus.yamlsubPath: milvus.yamlvolumes:- name: milvus-configconfigMap:name: milvus-config

 

11-milvus-service.yaml

apiVersion: v1
kind: Service
metadata:name: milvusnamespace: hxlmilvuslabels:app: milvus
spec:type: ClusterIPselector:app: milvuscomponent: proxyports:- name: grpcport: 19530targetPort: 19530- name: metricsport: 9091targetPort: 9091

 

3.部署
cd /root/hxl/milvus
kubectl apply -f 1-milvus-ns.yaml
kubectl apply -f 2-milvus-configmap.yaml
kubectl apply -f 3-milvus-rootcoord.yaml --ok
kubectl apply -f 4-milvus-datacoord.yaml --ok
kubectl apply -f 5-milvus-querycoord.yaml --ok
kubectl apply -f 6-milvus-indexcoord.yaml --ok
kubectl apply -f 7-milvus-datanode.yaml --ok
kubectl apply -f 8-milvus-querynode.yaml --ok
kubectl apply -f 9-milvus-indexnode.yaml --ok
kubectl apply -f 10-milvus-proxy.yaml --ok
kubectl apply -f 11-milvus-service.yaml

kubectl get pods -n hxlmilvus
kubectl describe pods milvus-querynode-5848f45f8-nqpg6 -n hxlmilvus

kubectl logs milvus-querynode-5848f45f8-nqpg6 -n hxlmilvus
kubectl describe pods milvus-querynode-5848f45f8-m5d9d -n hxlmilvus

 

4.attu链接

[root@yunwei-k8s-master1-test ~]# kubectl get svc -n hxlmilvus
NAME     TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)              AGE
milvus   ClusterIP   10.17.21.151   <none>        19530/TCP,9091/TCP   112m

 

12-attu.yaml 内容

apiVersion: apps/v1
kind: Deployment
metadata:name: attunamespace: hxlmilvus
spec:replicas: 1selector:matchLabels:app: attutemplate:metadata:labels:app: attuspec:containers:- name: attuimage: registry.cn-shenzhen.aliyuncs.com/hxlk8s/attu:v2.5.12ports:- containerPort: 3000env:- name: MILVUS_URLvalue: "milvus.hxlmilvus.svc.cluster.local:19530"
---
apiVersion: v1
kind: Service
metadata:name: attunamespace: hxlmilvus
spec:selector:app: attuports:- port: 80targetPort: 3000type: NodePort

 

 

应用

kubectl apply -f 12-attu.yaml
kubectl get pods -n hxlmilvus
kubectl get svc -n hxlmilvus
[root@yunwei-k8s-master1-test milvus]# kubectl get svc -n hxlmilvus
NAME     TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)              AGE
attu     NodePort    10.17.207.233   <none>        80:31210/TCP         4m3s
milvus   ClusterIP   10.17.21.151    <none>        19530/TCP,9091/TCP   132m

 

浏览器访问
http://192.168.1.162:31210
默认的账号密码为:
root/Milvus

image