以下是部署 Milvus、etcd、minio 的 YAML 文件,并设置了高可用方案:

milvus.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: milvus
  labels:
    app: milvus
spec:
  serviceName: milvus
  replicas: 3
  selector:
    matchLabels:
      app: milvus
  template:
    metadata:
      labels:
        app: milvus
    spec:
      containers:
      - name: milvus
        image: milvusdb/milvus:v2.1.1-cpu-d030521-9cf7c9
        ports:
        - containerPort: 19530
        - containerPort: 19121
        volumeMounts:
        - name: milvus-data
          mountPath: /var/lib/milvus/db
        - name: milvus-logs
          mountPath: /var/lib/milvus/logs
      volumes:
      - name: milvus-data
        persistentVolumeClaim:
          claimName: milvus-data
      - name: milvus-logs
        emptyDir: {}
  volumeClaimTemplates:
  - metadata:
      name: milvus-data
    spec:
      accessModes: [ 'ReadWriteOnce' ]
      resources:
        requests:
          storage: 10Gi
  - metadata:
      name: milvus-logs
    spec:
      accessModes: [ 'ReadWriteOnce' ]
      resources:
        requests:
          storage: 1Gi

etcd.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: etcd
  labels:
    app: etcd
spec:
  serviceName: etcd
  replicas: 3
  selector:
    matchLabels:
      app: etcd
  template:
    metadata:
      labels:
        app: etcd
    spec:
      containers:
      - name: etcd
        image: quay.io/coreos/etcd:v3.5.0
        command:
        - etcd
        - --name=$(hostname)
        - --data-dir=/var/lib/etcd
        - --listen-client-urls=http://0.0.0.0:2379
        - --advertise-client-urls=http://$(hostname).etcd:2379
        - --initial-advertise-peer-urls=http://$(hostname).etcd:2380
        - --listen-peer-urls=http://0.0.0.0:2380
        - --initial-cluster=$(hostname)=http://$(hostname).etcd:2380,etcd-1=http://etcd-1.etcd:2380,etcd-2=http://etcd-2.etcd:2380
        - --initial-cluster-token=etcd-cluster-1
        - --initial-cluster-state=new
        volumeMounts:
        - name: etcd-data
          mountPath: /var/lib/etcd
      volumes:
      - name: etcd-data
        persistentVolumeClaim:
          claimName: etcd-data
  volumeClaimTemplates:
  - metadata:
      name: etcd-data
    spec:
      accessModes: [ 'ReadWriteOnce' ]
      resources:
        requests:
          storage: 5Gi

minio.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: minio
  labels:
    app: minio
spec:
  serviceName: minio
  replicas: 3
  selector:
    matchLabels:
      app: minio
  template:
    metadata:
      labels:
        app: minio
    spec:
      containers:
      - name: minio
        image: minio/minio:RELEASE.2023-04-07T05-28-58Z
        env:
        - name: MINIO_ACCESS_KEY
          value: 'your-access-key'
        - name: MINIO_SECRET_KEY
          value: 'your-secret-key'
        ports:
        - containerPort: 9000
        volumeMounts:
        - name: minio-data
          mountPath: /data
      volumes:
      - name: minio-data
        persistentVolumeClaim:
          claimName: minio-data
  volumeClaimTemplates:
  - metadata:
      name: minio-data
    spec:
      accessModes: [ 'ReadWriteOnce' ]
      resources:
        requests:
          storage: 10Gi

注意:在实际部署时,需要将 your-access-keyyour-secret-key 替换为实际的密钥。

Kubernetes 1.20.15 部署 Milvus:v2.1.1、etcd v3.5.0、Minio:RELEASE.2023-04-07T05-28-58Z 高可用方案 - YAML 部署

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

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