Milvus生产环境搭建

Milvus 是个向量数据库,可以在kubernetes里搭建,也可以独立出来搭建

helm的方式先不说,用docker-compose独立搭建的时候,居然自己跑了etcd和minio,还大摇大摆的把minio给暴漏了出来,minio的密码太简陋了,放在生产是肯定不行的。

那生产搭建的具体步骤如下,可以把minio的9091端口也给取消了:

一、准备好docker-compose.yml文件

 1services:
 2  etcd:
 3    container_name: milvus-etcd
 4    image: quay.io/coreos/etcd:v3.5.18
 5    environment:
 6      - ETCD_AUTO_COMPACTION_MODE=revision
 7      - ETCD_AUTO_COMPACTION_RETENTION=1000
 8      - ETCD_QUOTA_BACKEND_BYTES=4294967296
 9      - ETCD_SNAPSHOT_COUNT=50000
10    volumes:
11      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
12    command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
13    restart: unless-stopped
14    healthcheck:
15      test: ["CMD", "etcdctl", "endpoint", "health"]
16      interval: 30s
17      timeout: 20s
18      retries: 3
19
20  minio:
21    container_name: milvus-minio
22    image: minio/minio:RELEASE.2024-12-18T13-15-44Z
23    environment:
24      MINIO_ACCESS_KEY: rendoumi
25      MINIO_SECRET_KEY: 12345abcde
26    volumes:
27      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_data
28    command: minio server /minio_data --console-address ":9001"
29    restart: unless-stopped
30    healthcheck:
31      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
32      interval: 30s
33      timeout: 20s
34      retries: 3
35
36  standalone:
37    container_name: milvus-standalone
38    image: milvusdb/milvus:v2.6.0
39    command: ["milvus", "run", "standalone"]
40    restart: unless-stopped
41    security_opt:
42    - seccomp:unconfined
43    environment:
44      ETCD_ENDPOINTS: etcd:2379
45      MINIO_ADDRESS: minio:9000
46      MQ_TYPE: woodpecker
47    volumes:
48      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus
49
50    healthcheck:
51      test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
52      interval: 30s
53      start_period: 90s
54      timeout: 20s
55      retries: 3
56    ports:
57      - "19530:19530"
58    depends_on:
59      - "etcd"
60      - "minio"
61
62networks:
63  default:
64    name: milvus

注意上面的文件,MINIO_ACCESS_KEY和MINIO_SECRET_KEY已经被改掉了。

二、替换不安全的文件

如上,运行 docker compose up -d,就会启动,但是这会儿milvus启动是报错的,因为minio的缺省密码变了,没法正确连接上。

我们首先把配置文件拷贝出来

1docker cp milvus-standalone:/milvus/configs/milvus.yaml milvus.yaml

修改minio部分中的ID和Key

image-20251203153821731

然后修改 docker-compose.yml ,把文件再挂进去

image-20251203153903405

最后运行:

1docker compose up -d

就可以了

最后的最后运行个ATTU进行管理吧:

1docker run -d --name attu -p 8000:3000 -e ATTU_LOG_LEVEL=info  -e MILVUS_URL=192.168.1.100:19530  zilliz/attu:v2.6

Minecraft自建服务器的搭建
comments powered by Disqus