Menjalankan Milvus dengan Dukungan GPU Menggunakan Docker Compose
Halaman ini mengilustrasikan cara memulai instans Milvus dengan dukungan GPU menggunakan Docker Compose.
Prasyarat
- Instal Docker.
- Periksa persyaratan perangkat keras dan perangkat lunak sebelum melakukan instalasi.
Jika Anda mengalami masalah dalam menarik citra, hubungi kami di community@zilliz.com dengan detail tentang masalahnya, dan kami akan memberi Anda dukungan yang diperlukan.
Menginstal Milvus
Untuk menginstall Milvus dengan dukungan GPU menggunakan Docker Compose, ikuti langkah-langkah berikut.
1. Unduh dan konfigurasikan berkas YAML
Unduh milvus-standalone-docker-compose-gpu.yml
dan simpan sebagai docker-compose.yml secara manual, atau dengan perintah berikut.
$ wget https://github.com/milvus-io/milvus/releases/download/v2.5.4/milvus-standalone-docker-compose-gpu.yml -O docker-compose.yml
Anda perlu membuat beberapa perubahan pada variabel lingkungan dari layanan mandiri dalam berkas YAML sebagai berikut:
- Untuk menetapkan perangkat GPU tertentu ke Milvus, cari bidang
deploy.resources.reservations.devices[0].devices_ids
dalam definisi layananstandalone
dan ganti nilainya dengan ID GPU yang diinginkan. Anda dapat menggunakan alatnvidia-smi
, yang disertakan dengan driver tampilan GPU NVIDIA, untuk menentukan ID perangkat GPU. Milvus mendukung beberapa perangkat GPU.
Menetapkan satu perangkat GPU ke Milvus:
...
standalone:
...
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: ["gpu"]
device_ids: ["0"]
...
Menetapkan beberapa perangkat GPU ke Milvus:
...
standalone:
...
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: ["gpu"]
device_ids: ['0', '1']
...
2. Mulai Milvus
Pada direktori yang menyimpan docker-compose.yml, jalankan Milvus dengan menjalankannya:
$ sudo docker compose up -d
Creating milvus-etcd ... done
Creating milvus-minio ... done
Creating milvus-standalone ... done
Jika Anda gagal menjalankan perintah di atas, periksa apakah sistem Anda telah menginstal Docker Compose V1. Jika demikian, Anda disarankan untuk bermigrasi ke Docker Compose V2 sesuai dengan catatan di halaman ini.
Setelah memulai Milvus,
- Kontainer bernama milvus-standalone, milvus-minio, dan milvus-etcd sudah aktif.
- Kontainer milvus-etcd tidak mengekspos port apa pun ke hos dan memetakan datanya ke volume/etcd dalam folder saat ini.
- Kontainer milvus-minio melayani port 9090 dan 9091 secara lokal dengan kredensial autentikasi default dan memetakan datanya ke volume/minio dalam folder saat ini.
- Kontainer milvus-standalone melayani port 19530 secara lokal dengan pengaturan default dan memetakan datanya ke volume/milvus di folder saat ini.
Anda dapat memeriksa apakah kontainer sudah aktif dan berjalan menggunakan perintah berikut:
$ sudo docker compose ps
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
Anda juga dapat mengakses Milvus WebUI di http://127.0.0.1:9091/webui/
untuk mempelajari lebih lanjut tentang instans Milvus Anda. Untuk detailnya, lihat Milvus WebUI.
Jika Anda telah menetapkan beberapa perangkat GPU ke Milvus di docker-compose.yml, Anda dapat menentukan perangkat GPU mana yang terlihat atau tersedia untuk digunakan.
Membuat perangkat GPU 0
terlihat oleh Milvus:
$ CUDA_VISIBLE_DEVICES=0 ./milvus run standalone
Membuat perangkat GPU 0
dan 1
terlihat oleh Milvus:
$ CUDA_VISIBLE_DEVICES=0,1 ./milvus run standalone
Anda dapat menghentikan dan menghapus kontainer ini sebagai berikut.
# Stop Milvus
$ sudo docker compose down
# Delete service data
$ sudo rm -rf volumes
Mengonfigurasi kumpulan memori
Setelah Milvus aktif dan berjalan, Anda dapat menyesuaikan kumpulan memori dengan memodifikasi pengaturan initMemSize
dan maxMemSize
dalam berkas milvus.yaml
.
Berkas milvus.yaml
terletak di direktori /milvus/configs/
di dalam kontainer Milvus.
Untuk mengonfigurasi kumpulan memori, ubah pengaturan initMemSize
dan maxMemSize
dalam berkas milvus.yaml
sebagai berikut.
Gunakan perintah berikut untuk menyalin
milvus.yaml
dari kontainer Milvus ke mesin lokal Anda. Ganti<milvus_container_id>
dengan ID kontainer Milvus Anda yang sebenarnya.docker cp <milvus_container_id>:/milvus/configs/milvus.yaml milvus.yaml
Buka berkas
milvus.yaml
yang telah disalin dengan editor teks pilihan Anda. Sebagai contoh, menggunakan vim:vim milvus.yaml
Edit pengaturan
initMemSize
danmaxMemSize
sesuai kebutuhan dan simpan perubahan Anda:... gpu: initMemSize: 0 maxMemSize: 0 ...
initMemSize
: Ukuran awal dari kumpulan memori. Defaultnya adalah 1024.maxMemSize
: Ukuran maksimum dari kumpulan memori. Setelan awal adalah 2048.
Gunakan perintah berikut untuk menyalin berkas
milvus.yaml
yang telah dimodifikasi kembali ke kontainer Milvus. Ganti<milvus_container_id>
dengan ID kontainer Milvus Anda yang sebenarnya.docker cp milvus.yaml <milvus_container_id>:/milvus/configs/milvus.yaml
Mulai ulang kontainer Milvus untuk menerapkan perubahan:
docker stop <milvus_container_id> docker start <milvus_container_id>
Apa selanjutnya
Setelah menginstal Milvus di Docker, Anda dapat:
Memeriksa Mulai Cepat untuk melihat apa yang dapat dilakukan Milvus.
Memeriksa Milvus WebUI untuk mempelajari lebih lanjut tentang instans Milvus.
Mempelajari operasi dasar Milvus:
Mengaturskala cluster Milvus Anda.
Menerapkan cluster Milvu Anda di awan:
Jelajahi Milvus WebUI, antarmuka web yang intuitif untuk pengamatan dan manajemen Milvus.
Jelajahi Milvus Backup, alat sumber terbuka untuk pencadangan data Milvus.
Jelajahi Birdwatcher, alat sumber terbuka untuk men-debug Milvus dan pembaruan konfigurasi dinamis.
Jelajahi Attu, alat GUI sumber terbuka untuk manajemen Milvus yang intuitif.