在k8s部署milvus 2.6.15,采用helm方式部署,使用外部的etcd、minio、kafka
环境:
OS:Centos 7
前提条件:外部需要部署好etcd kafka minio
etcd 部署可以参考:https://www.cnblogs.com/hxlasky/p/20287687
kafka 部署可参考:https://www.cnblogs.com/hxlasky/p/20292648
minio部署可参考:https://www.cnblogs.com/hxlasky/p/20291032
1.添加helm源
[root@host134 milvus]#helm repo add zilliztech https://zilliztech.github.io/milvus-helm/
[root@host134 milvus]#helm repo update
[root@host134 milvus]#helm search repo zilliztech/milvus --versions | head -30
[root@host134 milvus]#helm repo list
# 拉取 4.2.58(2.5.x 最新 chart)
[root@host134 milvus]#cd /root/hxl/milvus
[root@host134 milvus]#helm pull zilliztech/milvus --version 5.0.19 --untar
[root@host134 milvus]#cd milvus
[root@host134 milvus]#cp values.yaml my_values.yaml
2.修改my-values.yaml
2.1 修改镜像地址,使用自己的镜像
vi my_values.yaml
image:
all:
repository: registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus
tag: v2.6.15
pullPolicy: IfNotPresent
heaptrack:
image:
repository: registry.cn-shenzhen.aliyuncs.com/hxlk8s/heaptrack
tag: v0.1.0
attu:
enabled: true
name: attu
image:
repository: registry.cn-shenzhen.aliyuncs.com/hxlk8s/attu
tag: v2.5.3
pullPolicy: IfNotPresent
service:
annotations: {}
labels: {}
type: NodePort
port: 3000
# loadBalancerIP: ""
2.2 修改外部etcd
etcd:
enabled: false ##改成false
##配置外部etcd
externalEtcd:
enabled: true
## the endpoints of the external etcd
##
endpoints:
- etcd-0.etcd-svc.hxletcd.svc.cluster.local:2379
tls:
enabled: false
auth:
enabled: false
2.3 配置外部 MinIO 正确配置(用 externalS3)
minio:
enabled: false ##改成false
externalS3:
enabled: true
host: "minio-svc.hxlminio.svc.cluster.local"
port: "9000"
accessKey: "admin"
secretKey: "admin123456"
useSSL: false
bucketName: "milvus-bucket" ##提前创建好
rootPath: "milvus-data"
useIAM: false
cloudProvider: "aws"
iamEndpoint: ""
region: ""
useVirtualHost: false
2.4 外部 Kafka 配置
##通过配置文件的方式部署
先注释掉原来的
##extraConfigFiles:
## user.yaml: |+
# For example enable rest http for milvus proxy
# proxy:
# http:
# enabled: true
# maxUserNum: 100
# maxRoleNum: 10
## Enable tlsMode and set the tls cert and key
# tls:
# serverPemPath: /etc/milvus/certs/tls.crt
# serverKeyPath: /etc/milvus/certs/tls.key
# common:
# security:
# tlsMode: 1
##新增配置
extraConfigFiles:
user.yaml: |
mq:
type: kafka
kafka:
brokerList: "kafka-svc.hxlkafka.svc.cluster.local:9092"
securityProtocol: "PLAINTEXT"
2.4 关闭pulsarv3
pulsarv3:
name: "pulsarv3" # note: nameOveride should be kept the same as the name field
nameOverride: "pulsarv3"
enabled: false
2.5 关闭woodpecker
# Streaming node
# Default config for 2.6.0 or later.
streaming:
enabled: true
woodpecker:
embedded: false ##修改成false
storage:
type: minio
3.执行安装
cd /root/hxl/milvus/milvus
helm install milvus-2615 zilliztech/milvus \
--namespace milvus \
--create-namespace \
--version 5.0.19 \
-f my_values.yaml
可以渲染deployment 模板查看具体的配置
helm template milvus-2615 zilliztech/milvus --version 5.0.19 -f my_values.yaml -n milvus > render.yaml
4.查看运行情况
[root@host134 milvus]# kubectl get pods -n milvus
NAME READY STATUS RESTARTS AGE
milvus-2527-attu-74f845bf7d-42hh6 1/1 Running 0 114s
milvus-2527-datanode-574b85dc7b-qb8n6 1/1 Running 0 114s
milvus-2527-mixcoord-84b6f677b4-plsdr 1/1 Running 0 114s
milvus-2527-proxy-66db57d664-s7ds2 1/1 Running 0 114s
milvus-2527-querynode-669788789-rvplf 1/1 Running 0 113s
milvus-2527-streamingnode-6dd5688584-9pzl8 1/1 Running 0 114s
5.查看svc
[root@host134 milvus]# kubectl get svc -n milvus
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
milvus-2527 ClusterIP 10.1.190.96 <none> 19530/TCP,9091/TCP 2m12s
milvus-2527-attu NodePort 10.1.167.199 <none> 3000:32590/TCP 2m12s
milvus-2527-datanode ClusterIP None <none> 9091/TCP 2m12s
milvus-2527-mixcoord ClusterIP 10.1.42.180 <none> 9091/TCP 2m12s
milvus-2527-querynode ClusterIP None <none> 9091/TCP 2m12s
milvus-2527-streamingnode ClusterIP None <none> 9091/TCP 2m12s
6.通过浏览器访问
http://192.168.1.135:32590
账号密码:root/Milvus
7.attu升级
将attu版本修改成v2.6.5,milvus 2.6.15使用attu 2.6.5版本好像有问题,建议使用attu 2.5.3
attu:
enabled: true
name: attu
image:
repository: registry.cn-shenzhen.aliyuncs.com/hxlk8s/attu
tag: v2.6.5
pullPolicy: IfNotPresent
service:
annotations: {}
labels: {}
type: NodePort
port: 3000
# loadBalancerIP: ""
重新应用
helm upgrade milvus-2615 zilliztech/milvus \
--namespace milvus \
--version 5.0.19 \
-f my_values.yaml
浙公网安备 33010602011771号