以下是部署 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 部署 Milvus Etcd Minio 高可用"。
  • 描述: 应简洁地描述内容,包含主要关键字,例如 "使用 YAML 配置在 Kubernetes 中部署 Milvus、Etcd 和 Minio,并设置高可用方案。"。
  • 关键字: 应包含与内容相关的关键字,例如 "Kubernetes, Milvus, Etcd, Minio, 高可用, YAML, 部署, 配置"。
  • 内容: 应包含详细的步骤和说明,并使用代码示例。

请根据您的具体需求调整以上内容。

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/nlGu 著作权归作者所有。请勿转载和采集!

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