以下是部署 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
Kubernetes 1.20.15 高可用方案:部署 Milvus v2.1.1、etcd v3.5.0 和 Minio,并设置密钥和环境变量

原文地址: https://www.cveoy.top/t/topic/nlGU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录