部署milvus2.5.3(standalone模式)

环境:
os:Centos 7
milvus:2.5.3

 

1.创建部署目录
mkdir -p /home/middle/milvus

 

2.准备docker-compose.yml配置文件
内如如下:

模版文件从项目地址下载:

https://github.com/milvus-io/milvus/releases/tag/v2.5.3 然后根据自己的镜像进行相应的修改

我这里使用的是自己的镜像,需要根据自己环境情况进行修改

复制代码
[root@host135 milvus]# more docker-compose.yml
version: '3.5'

services:
  etcd:
    container_name: milvus-etcd
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/etcd:v3.5.5
    environment:
      - ETCD_AUTO_COMPACTION_MODE=revision
      - ETCD_AUTO_COMPACTION_RETENTION=1000
      - ETCD_QUOTA_BACKEND_BYTES=4294967296
      - ETCD_SNAPSHOT_COUNT=50000
    volumes:
      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
    command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
    healthcheck:
      test: ["CMD", "etcdctl", "endpoint", "health"]
      interval: 30s
      timeout: 20s
      retries: 3
    ports:
      - "2379:2379"

  minio:
    container_name: milvus-minio
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/minio:RELEASE.2023-03-20T20-16-18Z
    environment:
      MINIO_ACCESS_KEY: minioadmin
      MINIO_SECRET_KEY: minioadmin
    ports:
      - "9001:9001"
      - "9000:9000"
    volumes:
      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_data
    command: minio server /minio_data --console-address ":9001"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3

  standalone:
    container_name: milvus-standalone
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.5.3
    command: ["milvus", "run", "standalone"]
    security_opt:
    - seccomp:unconfined
    environment:
      ETCD_ENDPOINTS: etcd:2379
      MINIO_ADDRESS: minio:9000
    volumes:
      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus
      ##- ${DOCKER_VOLUME_DIRECTORY:-.}/milvus.yaml:/milvus/configs/milvus.yaml
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
      interval: 30s
      start_period: 90s
      timeout: 20s
      retries: 3
    ports:
      - "19530:19530"
      - "9091:9091"
    depends_on:
      - "etcd"
      - "minio"

  attu:
    container_name: attu
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/attu:v2.4.7
    environment:
      MILVUS_URL: milvus-standalone:19530
    ports:
      - "8000:3000"
    depends_on:
      - "standalone"
networks:
  default:
    name: milvus
复制代码

说明:
这里先注释掉配置文件,等容器启动后从容器里copy出来
##- ${DOCKER_VOLUME_DIRECTORY:-.}/milvus.yaml:/milvus/configs/milvus.yaml

 

3.将配置文件上传到部署目录
[root@node1 milvus]#cd /home/middle/milvus
[root@node1 milvus]# ls -l
total 4
-rw-r--r-- 1 root root 2195 Feb 11 10:52 docker-compose.yml

 

4.启动
[root@node1 milvus]# cd /home/middle/milvus
[root@node1 milvus]# docker compose up -d

 

5.拷贝milvus配置文件到所主机

复制代码
[root@node1 milvus]# docker ps
CONTAINER ID   IMAGE                                                                         COMMAND                  CREATED         STATUS                            PORTS                                                                                      NAMES
67d794cbcd87   registry.cn-shenzhen.aliyuncs.com/hxlk8s/attu:v2.4.7                          "docker-entrypoint.s…"   7 seconds ago   Up 3 seconds                      0.0.0.0:8000->3000/tcp, :::8000->3000/tcp                                                  attu
b472f07a025f   registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.5.3                        "/tini -- milvus run…"   7 seconds ago   Up 4 seconds (health: starting)   0.0.0.0:9091->9091/tcp, :::9091->9091/tcp, 0.0.0.0:19530->19530/tcp, :::19530->19530/tcp   milvus-standalone
dc6990860816   registry.cn-shenzhen.aliyuncs.com/hxlk8s/minio:RELEASE.2023-03-20T20-16-18Z   "/usr/bin/docker-ent…"   7 seconds ago   Up 5 seconds (health: starting)   0.0.0.0:9000-9001->9000-9001/tcp, :::9000-9001->9000-9001/tcp                              milvus-minio
5d1f46b6788d   registry.cn-shenzhen.aliyuncs.com/hxlk8s/etcd:v3.5.5                          "etcd -advertise-cli…"   7 seconds ago   Up 5 seconds (health: starting)   0.0.0.0:2379->2379/tcp, :::2379->2379/tcp, 2380/tcp                                        milvus-etcd
[root@node1 milvus]# 
复制代码

 

拷贝容器里的配置文件到本地目录
docker cp b472f07a025f:/milvus/configs/milvus.yaml /home/middle/milvus/

 

6.修改配置文件
docker-compose.yml添加持久化配置项目
- ${DOCKER_VOLUME_DIRECTORY:-.}/milvus.yaml:/milvus/configs/milvus.yaml

 

7.重新部署
cd /home/middle/milvus
docker compose down
docker compose up -d

 

8.修改配置开启安全认证
vi /home/middle/milvus/milvus.yaml

common > security > authorizationEnabled 并将其设置为true

 

9.重启动milvus
docker compose stop standalone
docker compose start standalone

 

10.attu登录
http://192.168.1.105:8000

 默认的账号密码为:root/Milvus

 

 11.登录milvus自带的监控界面

2.5.x新增的功能

http://192.168.1.105:9091/webui/

 

 

 这里不知道为什么,是不是bug的原因,我的etcd是正常的,但是这里显示不可用.

解决办法:

1.不用理会,webui期望etcd部署在ssd,而且是3节点以上的集群环境,所以这里显示不可用;

2.修改docker-compose.yml

 原来的:

复制代码
  etcd:
    container_name: milvus-etcd
    image: quay.io/coreos/etcd:v3.5.16
    environment:
      - ETCD_AUTO_COMPACTION_MODE=revision
      - ETCD_AUTO_COMPACTION_RETENTION=1000
      - ETCD_QUOTA_BACKEND_BYTES=4294967296
      - ETCD_SNAPSHOT_COUNT=50000
    volumes:
      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
    command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
复制代码

 

修改为

复制代码
  etcd:
    container_name: milvus-etcd
    image: quay.io/coreos/etcd:v3.5.16
    environment:
      - ETCD_AUTO_COMPACTION_MODE=revision
      - ETCD_AUTO_COMPACTION_RETENTION=1000
      - ETCD_QUOTA_BACKEND_BYTES=4294967296
      - ETCD_SNAPSHOT_COUNT=50000
    volumes:
      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
    command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
复制代码

 

然后重新部署

docker compose down

docker compose up -d

posted @   slnngk  阅读(181)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示