华为CCE 部署milvus向量数据库

1.新建pvc

milvus-etcd-nfs-pvc.yaml

复制代码
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: milvus-etcd-pvc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi
  storageClassName: nfs-storageclass

milvus-minio-pvc.yaml

复制代码
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: milvus-minio-pvc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi
  storageClassName: nfs-storageclass

milvus-standalone-pvc.yaml

复制代码
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: milvus-standalone-pvc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi
  storageClassName: nfs-storageclass

2.设置密码 配置文件 注意密码首次启动才会生效,之后修改可以使用attu客户端修改

milvus-user-config.yaml

复制代码
apiVersion: v1
kind: ConfigMap
metadata:
  name: milvus-user-config
  namespace: default
data:
  user.yaml: |
    common:
      security:
        authorizationEnabled: true
        defaultRootPassword: "xxxxxxxxxxx"

3.负载文件和服务文件

复制代码
---
# etcd Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: milvus-etcd
  namespace: default
  labels:
    app: milvus
    component: etcd
spec:
  replicas: 1
  selector:
    matchLabels:
      app: milvus
      component: etcd
  template:
    metadata:
      labels:
        app: milvus
        component: etcd
    spec:
      containers:
      - name: etcd
        image: quay.io/coreos/etcd:v3.5.25
        imagePullPolicy: IfNotPresent
        command:
        - etcd
        args:
        - -advertise-client-urls=http://milvus-etcd:2379
        - -listen-client-urls=http://0.0.0.0:2379
        - --data-dir=/etcd
        ports:
        - containerPort: 2379
          name: client
        env:
        - name: ETCD_AUTO_COMPACTION_MODE
          value: "revision"
        - name: ETCD_AUTO_COMPACTION_RETENTION
          value: "1000"
        - name: ETCD_QUOTA_BACKEND_BYTES
          value: "4294967296"
        - name: ETCD_SNAPSHOT_COUNT
          value: "50000"
        volumeMounts:
        - name: etcd-storage
          mountPath: /etcd
        resources:
          requests:
            memory: "512Mi"
            cpu: "250m"
          limits:
            memory: "1Gi"
            cpu: "500m"
      volumes:
      - name: etcd-storage
        persistentVolumeClaim:
          claimName: milvus-etcd-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: milvus-etcd
  namespace: default
  labels:
    app: milvus
    component: etcd
spec:
  selector:
    app: milvus
    component: etcd
  ports:
  - name: client
    port: 2379
    targetPort: 2379
    protocol: TCP
  type: ClusterIP
---
# MinIO Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: milvus-minio
  namespace: default
  labels:
    app: milvus
    component: minio
spec:
  replicas: 1
  selector:
    matchLabels:
      app: milvus
      component: minio
  template:
    metadata:
      labels:
        app: milvus
        component: minio
    spec:
      containers:
      - name: minio
        image: minio/minio:RELEASE.2024-12-18T13-15-44Z
        imagePullPolicy: IfNotPresent
        command:
        - minio
        args:
        - server
        - /minio_data
        - --console-address
        - ":9001"
        ports:
        - containerPort: 9000
          name: api
        - containerPort: 9001
          name: console
        env:
        - name: MINIO_ACCESS_KEY
          value: "minioadmin"
        - name: MINIO_SECRET_KEY
          value: "minioadmin"
        volumeMounts:
        - name: minio-storage
          mountPath: /minio_data
        resources:
          requests:
            memory: "512Mi"
            cpu: "250m"
          limits:
            memory: "1Gi"
            cpu: "500m"
      volumes:
      - name: minio-storage
        persistentVolumeClaim:
          claimName: milvus-minio-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: milvus-minio
  namespace: default
  labels:
    app: milvus
    component: minio
spec:
  selector:
    app: milvus
    component: minio
  ports:
  - name: api
    port: 9000
    targetPort: 9000
    protocol: TCP
  - name: console
    port: 9001
    targetPort: 9001
    protocol: TCP
  type: ClusterIP
---
# Milvus Standalone Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: milvus-standalone
  namespace: default
  labels:
    app: milvus
    component: standalone
spec:
  replicas: 1
  selector:
    matchLabels:
      app: milvus
      component: standalone
  template:
    metadata:
      labels:
        app: milvus
        component: standalone
    spec:
      containers:
      - name: milvus
        image: milvusdb/milvus:v2.6.8
        imagePullPolicy: IfNotPresent
        command: ["milvus"]
        args: ["run", "standalone"]
        ports:
        - containerPort: 19530
          name: grpc
        - containerPort: 9091
          name: metrics
        env:
        - name: ETCD_ENDPOINTS
          value: "milvus-etcd:2379"
        - name: MINIO_ADDRESS
          value: "milvus-minio:9000"
        - name: MQ_TYPE
          value: "woodpecker"
        - name: MINIO_ACCESS_KEY_ID
          value: "minioadmin"
        - name: MINIO_SECRET_ACCESS_KEY
          value: "minioadmin"
        - name: COMMON_STORAGE_TYPE
          value: "remote"
        volumeMounts:
        - name: milvus-storage
          mountPath: /var/lib/milvus
		- name: vol-178133709333092147
		  readOnly: true
		  mountPath: /milvus/configs/user.yaml
		  subPath: user.yaml  
        resources:
          requests:
            memory: "512Mi"
            cpu: "250m"
          limits:
            memory: "1Gi"
            cpu: "500m"
      volumes:
      - name: milvus-storage
        persistentVolumeClaim:
          claimName: milvus-standalone-pvc
	  - name: vol-178133709333092147
          configMap:
            name: milvus-user-config
            defaultMode: 420	  
---
apiVersion: v1
kind: Service
metadata:
  name: milvus-service
  namespace: default
  labels:
    app: milvus
    component: standalone
spec:
  selector:
    app: milvus
    component: standalone
  ports:
  - name: grpc
    port: 19530
    targetPort: 19530
    protocol: TCP
  - name: metrics
    port: 9091
    targetPort: 9091
    protocol: TCP
  type: ClusterIP		  

启动Attu

复制代码
docker run -d --name attuOnLine  -p 8000:3000 -e MILVUS_URL=1xx.xxx.xxx.xxx:19530 zilliz/attu:latest
相关推荐
TheBestRucy3 天前
从零构建企业级“中文法律智能问答系统”:FastAPI+Milvus+混合检索+真流式RAG实战
fastapi·milvus
Flynn Liang4 天前
内存/Redis/PGVector/Milvus/ES 怎么选?Spring AI VectorStore 抽象与向量库选型对照表
redis·elasticsearch·milvus·rag·springai·pgvector·向量库
kyrie_sakura5 天前
大模型学习19 大模型学习 - LangChain2_Retrieval(RAG-文档处理-向量处理检索-Milvus)
学习·langchain·milvus
Maiko Star6 天前
*【HM-LC】Milvus向量库详解:Collection、索引、混合检索与LangChain实战
langchain·milvus
霸道流氓气质7 天前
AI 图片管理平台:Spring AI 原生多模态、Milvus 向量语义检索与 MinIO 预签名安全管控的 React + 全栈生产级实战
人工智能·spring·milvus
一枕槐安4878 天前
多模态RAG实战:PDF图文混合文档检索问答本地跑通
langchain·pdf·milvus·ai应用开发·多模态rag
ai大模型-探索者12 天前
BGE-M3三种向量在Milvus怎么存(稠密、稀疏、多向量)
milvus·稀疏·多向量·稠密
唠点键盘之外的14 天前
29 切片的权限隔离(实战篇):Milvus + Spring AI,从 0 搭一条带权限过滤的检索链路
人工智能·spring·milvus
ai大模型-探索者14 天前
Milvus向量数据库(介绍与使用)
数据库·milvus
Crayon Lin16 天前
Milvus向量数据库入门
数据库·milvus