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

milvus.yaml:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: 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-d050721-6f8b84
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 19530
          name: milvus
        - containerPort: 19121
          name: prometheus
        volumeMounts:
        - name: milvus-data
          mountPath: /var/lib/milvus
        env:
        - name: ETCD_ENDPOINTS
          value: "etcd-0.etcd:2379,etcd-1.etcd:2379,etcd-2.etcd:2379"
  volumeClaimTemplates:
  - metadata:
      name: milvus-data
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 10Gi

etcd.yaml:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: etcd
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
        imagePullPolicy: IfNotPresent
        command:
        - /usr/local/bin/etcd
        args:
        - --name=$(hostname)
        - --data-dir=/etcd-data
        - --listen-client-urls=http://0.0.0.0:2379
        - --advertise-client-urls=http://${HOSTNAME}.etcd:2379
        ports:
        - containerPort: 2379
          name: client
        - containerPort: 2380
          name: server
        volumeMounts:
        - name: etcd-data
          mountPath: /etcd-data
        env:
        - name: ETCD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: ETCD_INITIAL_CLUSTER_STATE
          value: new
        - name: ETCD_INITIAL_CLUSTER_TOKEN
          value: etcd-cluster
        - name: ETCD_INITIAL_CLUSTER
          value: "etcd-0=http://etcd-0.etcd:2380,etcd-1=http://etcd-1.etcd:2380,etcd-2=http://etcd-2.etcd:2380"
        - name: ETCD_ADVERTISE_CLIENT_URLS
          value: http://${HOSTNAME}.etcd:2379
      volumes:
      - name: etcd-data
        emptyDir: {}

minio.yaml:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: minio
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
        imagePullPolicy: IfNotPresent
        args:
        - server
        - /data
        env:
        - name: MINIO_ACCESS_KEY
          value: "myaccesskey"
        - name: MINIO_SECRET_KEY
          value: "mysecretkey"
        ports:
        - containerPort: 9000
        volumeMounts:
        - name: minio-data
          mountPath: /data
  volumeClaimTemplates:
  - metadata:
      name: minio-data
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 10Gi

注意:以上代码仅供参考,具体使用时需要根据实际情况进行修改。

kubernetes 12015 里部署 milvusv211 etcd v350 minioRELEASE2023-04-07T05-28-58Z 对 minio 设置MINIO_ACCESS_KEYMINIO_SECRET_KEY 密钥。YAML部署。高可用方案。给出代码。

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

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