华为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
相关推荐
Database_Cool_4 天前
阿里云 Lindorm vs Milvus+ES 拼接:一栈式多模数据库与多库架构全维度对比
elasticsearch·阿里云·milvus
IT小辉同学4 天前
# Milvus v3.0-beta docker-compose 启动失败完整排错教程
docker·eureka·milvus
大模型码小白5 天前
Milvus 架构设计:从向量索引到分布式检索,AI 原生存储引擎的内部机制
java·大数据·人工智能·分布式·深度学习·milvus
小二·7 天前
多模态RAG实战:用LangChain+Milvus打造支持图文音视频的企业级知识库
langchain·音视频·milvus
weixin_3077791311 天前
Linux下Docker Compose里运行Milvus向量数据库故障诊断Shell脚本
linux·运维·数据库·docker·milvus
Generalzy12 天前
从本地 Demo 到生产级检索:Milvus 学习笔记(3)
笔记·学习·milvus
Earth explosion12 天前
大规模向量库的索引选型与查询性能调优:Milvus 实战指南
人工智能·milvus·ai智能体
Generalzy13 天前
从本地 Demo 到生产级检索:Milvus 学习笔记(2)
golang·milvus
记忆停留w13 天前
从单体到微服务:Redis 协同 MySQL、Milvus、MinIO 搭建企业级RAG/AI Agent脚手架架构
大数据·人工智能·redis·微服务·ai·架构·milvus
小二·13 天前
RAG + 向量数据库实战:ChromaDB / Milvus / FAISS 选型与性能横评
数据库·milvus·faiss