华为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
相关推荐
阿拉斯攀登1 小时前
向量数据库选型:Milvus vs Chroma vs Elasticsearch
数据库·elasticsearch·milvus·知识库·rag·个人知识库
bang冰冰1 小时前
Windows安装Milvus(Docker部署)
milvus
毒爪的小新6 小时前
踩坑实录 | RAG知识库完整搭建-Milvus2.4+BGE大中文AI模型嵌入
linux·人工智能·ai·milvus·rag
第十昵称1 天前
[milvus-backup]milvus-standalone跨服务器迁移
milvus
zhiSiBuYu05171 天前
Milvus、Pinecone 与 FAISS 向量数据库选型与实战指南
数据库·milvus·faiss
第十昵称2 天前
milvus-standalone跨服务器迁移-local
milvus
SXJR18 天前
spring boot + langchain4j +milvus实现向量存储
java·spring boot·后端·大模型·milvus·rag·langchain4j
救救孩子把18 天前
11 Milvus-HNSW原理与实战
milvus
救救孩子把18 天前
13 Milvus-混合检索HybridSearch
milvus
海天一色y18 天前
深入理解 RAG 技术:从语义张量到向量数据库,Milvus 与 FAISS 全面对比
数据库·milvus·faiss