Kubernetes 1.20.15 高可用方案:部署 Milvus v2.1.1、etcd v3.5.0 和 Minio,并设置密钥和环境变量
以下是部署 Milvus v2.1.1,etcd v3.5.0,minio:RELEASE.2023-04-07T05-28-58Z 的 YAML 文件,使用了高可用方案。同时,给出了设置 MINIO_ACCESS_KEY 和 MINIO_SECRET_KEY 密钥的代码,以及设置 Milvus 环境变量 ETCD_ENDPOINTS 和 MINIO_ADDRESS 的代码。
milvus.yaml:
apiVersion: v1
kind: Namespace
metadata:
name: milvus
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: etcd
namespace: milvus
spec:
selector:
matchLabels:
app: etcd
serviceName: etcd
replicas: 3
template:
metadata:
labels:
app: etcd
spec:
containers:
- name: etcd
image: quay.io/coreos/etcd:v3.5.0
command: ['/usr/local/bin/etcd']
args: ['--name=$(HOSTNAME)', '--data-dir=/var/lib/etcd', '--listen-client-urls=http://0.0.0.0:2379', '--advertise-client-urls=http://$(HOSTNAME):2379']
ports:
- containerPort: 2379
name: client
- containerPort: 2380
name: peer
volumeMounts:
- name: etcd-data
mountPath: /var/lib/etcd
volumes:
- name: etcd-data
emptyDir: {}
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: minio
namespace: milvus
spec:
selector:
matchLabels:
app: minio
serviceName: minio
replicas: 3
template:
metadata:
labels:
app: minio
spec:
containers:
- name: minio
image: minio/minio:RELEASE.2023-04-07T05-28-58Z
command: ['minio', 'server', '/data']
args: ['http://$(HOSTNAME):9000/data']
ports:
- containerPort: 9000
name: http
env:
- name: MINIO_ACCESS_KEY
value: 'your-minio-access-key'
- name: MINIO_SECRET_KEY
value: 'your-minio-secret-key'
volumeMounts:
- name: minio-data
mountPath: /data
volumes:
- name: minio-data
emptyDir: {}
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: milvus
namespace: milvus
spec:
selector:
matchLabels:
app: milvus
serviceName: milvus
replicas: 3
template:
metadata:
labels:
app: milvus
spec:
containers:
- name: milvus
image: milvusdb/milvus:v2.1.1-cpu-d030521-7e3b6d
ports:
- containerPort: 19530
name: grpc
- containerPort: 19121
name: web
env:
- name: ETCD_ENDPOINTS
value: 'etcd-0.etcd:2379,etcd-1.etcd:2379,etcd-2.etcd:2379'
- name: MINIO_ADDRESS
value: 'http://minio-0.minio:9000'
设置 MINIO_ACCESS_KEY 和 MINIO_SECRET_KEY 密钥的代码:
kubectl create secret generic minio-credentials --from-literal=accesskey='your-minio-access-key' --from-literal=secretkey='your-minio-secret-key' -n milvus
设置 Milvus 环境变量 ETCD_ENDPOINTS 和 MINIO_ADDRESS 的代码:
kubectl set env statefulset/milvus ETCD_ENDPOINTS=etcd-0.etcd:2379,etcd-1.etcd:2379,etcd-2.etcd:2379 -n milvus
kubectl set env statefulset/milvus MINIO_ADDRESS=http://minio-0.minio:9000 -n milvus
原文地址: https://www.cveoy.top/t/topic/nlGU 著作权归作者所有。请勿转载和采集!