入门指南 (Get Started)
GPU部署(With GPU)
独立版安装 Docker Compose GPU(Install_standalone-docker-compose-gpu)

{{tab}}

使用Docker Compose安装Milvus集群

本主题介绍如何使用Docker Compose安装支持GPU的Milvus集群。

前提条件

在安装支持GPU的Milvus之前,请确保您满足以下前提条件:

  • 您的GPU设备的计算能力为7.0、7.5、8.0、8.6、8.9、9.0。要检查您的GPU设备是否满足要求,请查看NVIDIA开发者网站上的您的GPU计算能力 (opens in a new tab)

  • 您已在支持的Linux发行版 (opens in a new tab)之一上为您的GPU设备安装了NVIDIA驱动程序,然后按照此指南 (opens in a new tab)安装了NVIDIA容器工具包。

    对于Ubuntu 22.04用户,您可以使用以下命令安装驱动程序和容器工具包:

    $ sudo apt install --no-install-recommends nvidia-headless-545 nvidia-utils-545

    对于其他操作系统用户,请参考官方安装指南 (opens in a new tab)

    您可以通过运行以下命令来检查驱动程序是否已正确安装:

    $ modinfo nvidia | grep "^version"
    version:        535.161.07

    建议您使用版本535及以上的驱动程序。

  • 您已安装了Kubernetes集群,并且kubectl命令行工具已配置为与您的集群通信。建议在至少有两个不作为控制平面主机的节点的集群上运行本教程。

  • 您已在本地机器上安装了Docker和Docker Compose。

  • 在安装Milvus之前,请检查硬件和软件要求

    • 对于使用MacOS 10.14或更高版本的用户,将Docker虚拟机(VM)设置为至少使用2个虚拟CPU(vCPU)和8 GB的初始内存。否则,安装可能会失败。

使用Docker Compose安装独立Milvus

要使用Docker Compose安装独立Milvus,请按照以下步骤操作:

下载并配置YAML文件

下载 (opens in a new tab) milvus-standalone-docker-compose-gpu.yml并手动将其另存为docker-compose.yml,或使用以下命令。

$ wget https://github.com/milvus-io/milvus/releases/download/v{{var.milvus_release_tag}}/milvus-standalone-docker-compose-gpu.yml -O docker-compose.yml

您需要对YAML文件中独立服务的环境变量进行一些更改,如下所示:

  • 要将特定的GPU设备分配给Milvus,请在standalone服务的定义中找到deploy.resources.reservations.devices[0].devices_ids字段,并将其值替换为所需GPU的ID。您可以使用NVIDIA GPU显示驱动程序中包含的nvidia-smi工具来确定GPU设备的ID。Milvus支持多个GPU设备。

  • 设置为GPU索引分配的内存池大小,其中initialSize表示内存池的初始大小,maximumSize表示其最大大小。两个值都应设置为MB单位的整数。Milvus使用这些字段为每个进程分配显示内存。

将单个GPU设备分配给Milvus:

...
standalone:
  gpu:
    initMemSize: 0
    maxMemSize: 1024
  ...
  deploy:
    resources:
      reservations:
        devices:
          - driver: nvidia
            capabilities: ["gpu"]
            device_ids: ["0"]
...

将多个GPU设备分配给Milvus:

 ...
 standalone:
   gpu:
     initMemSize: 0
     maxMemSize: 1024
   ...
   deploy:
     resources:
       reservations:
         devices:
           - driver: nvidia
             capabilities: ["gpu"]
             device_ids: ["0"]
 ...

Assign multiple GPU devices to Milvus:

...
standalone:
  gpu:
    initMemSize: 0
    maxMemSize: 1024
  ...
  deploy:
    resources:
      reservations:
        devices:
          - driver: nvidia
            capabilities: ["gpu"]
            device_ids: ['0', '1']
...

Milvus 启动

在保存 docker compose.yml 的目录中,运行以下命令启动Milvus:

$ sudo docker compose up -d

If you failed to run the above command, please check whether your system has Docker Compose V1 installed. If this is the case, you are advised to migrate to Docker Compose V2 due to the notes on this page (opens in a new tab).

Creating milvus-etcd  ... done
Creating milvus-minio ... done
Creating milvus-standalone ... done

现在检查容器是否已启动并正在运行。

$ sudo docker compose ps

验证安装

Milvus单机版启动后,将有三个docker容器在运行,包括Milvus独立服务及其两个依赖项。

      Name                     Command                  State                            Ports
--------------------------------------------------------------------------------------------------------------------
milvus-etcd         etcd -advertise-client-url ...   Up             2379/tcp, 2380/tcp
milvus-minio        /usr/bin/docker-entrypoint ...   Up (healthy)   9000/tcp
milvus-standalone   /tini -- milvus run standalone   Up             0.0.0.0:19530->19530/tcp, 0.0.0.0:9091->9091/tcp

如果您已在docker-compose.yml中将多个GPU设备分配给Milvus,则可以指定哪个GPU设备可见或可供使用。

使GPU设备0对Milvus可见:

CUDA_VISIBLE_DEVICES=0 ./milvus run standalone

使GPU设备 01 对Milvus可见:

CUDA_VISIBLE_DEVICES=0,1 ./milvus run standalone

连接Milvus

验证Milvus服务器正在侦听哪个本地端口。将容器名称替换为您自己的名称。

$ docker port milvus-standalone 19530/tcp

请参阅 Hello Milvus (opens in a new tab), 然后运行示例代码。

停止 Milvus

如果需要停止milvus单机版本,可以跑

sudo docker compose down

如果想要在停止milvus之后删除milvus的数据,可以运行以下代码

sudo rm -rf  volumes

接下来是什么

安装Milvus后,您可以: