华为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
相关推荐
wespaul6 小时前
VeapAI 自然语言操作实战|第 05 篇:向量与召回——从知识条目到可检索资产
大数据·数据库·人工智能·milvus
Είναι η κοπέλα14 小时前
向量数据库与嵌入模型:Chroma/FAISS/Milvus 选型
数据库·milvus·faiss
wespaul18 小时前
知识主题 + Milvus:把业务术语喂给模型的三步离线构建
人工智能·milvus
看-是灰机1 天前
Milvus向量数据库
linux·运维·人工智能·机器学习·milvus
梦想的颜色1 天前
【AI速览】RAG 向量数据库选型:Milvus、Chroma、Qdrant、PGVector 全维度横向对比
数据库·milvus·chroma·rag·pgvector·向量库·qdrant
xixingzhe21 天前
Milvus介绍和使用
milvus
小溪学编程1 天前
向量数据库 Milvus 基础实践:从入门到上手
数据库·milvus
wespaul1 天前
VeapAI 自然语言操作实战|第 00 篇:全体系全景——从附件到智能体的分层与边界
大数据·人工智能·milvus
snhna2 天前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地
数据库·人工智能·python·postgresql·milvus
月落归舟3 天前
AI Agent 时代,PGVector 和 Milvus 到底怎么选?
agent·向量·milvus