Menjalankan Milvus dengan Dukungan GPU Menggunakan Docker Compose
Halaman ini menjelaskan cara menjalankan instance Milvus dengan dukungan GPU menggunakan Docker Compose.
Persyaratan
- Instal Docker.
- Periksa persyaratan perangkat keras dan perangkat lunak sebelum melakukan instalasi.
Jika Anda mengalami masalah saat menarik gambar, hubungi kami di community@zilliz.com dengan detail mengenai masalah tersebut, dan kami akan memberikan dukungan yang diperlukan.
Instal Milvus
Untuk menginstal 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/v3.0.0/milvus-standalone-docker-compose-gpu.yml -O docker-compose.yml
Anda perlu melakukan beberapa perubahan pada variabel lingkungan layanan mandiri di berkas YAML sebagai berikut:
- Untuk menetapkan perangkat GPU tertentu ke Milvus, temukan bidang `
deploy.resources.reservations.devices[0].devices_ids` dalam definisi layanan `standalone` dan ganti nilainya dengan ID GPU yang diinginkan. Anda dapat menggunakan alat `nvidia-smi`, yang disertakan dalam 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. Jalankan Milvus
Di direktori yang menyimpan berkas `docker-compose.yml`, jalankan Milvus dengan perintah berikut:
$ 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 beralih ke Docker Compose V2 sesuai dengan catatan pada halaman ini.
Setelah Milvus dimulai,
- Kontainer bernama milvus-standalone, milvus-minio, dan milvus-etcd sudah aktif.
- Kontainer milvus-etcd tidak mengekspos port apa pun ke host dan memetakan datanya ke volumes/etcd di folder saat ini.
- Kontainer milvus-minio melayani port 9090 dan 9091 secara lokal dengan kredensial otentikasi default dan memetakan datanya ke volumes/minio di folder saat ini.
- Kontainer milvus-standalone melayani port 19530 secara lokal dengan pengaturan default dan memetakan datanya ke volumes/milvus di folder saat ini.
Anda dapat memeriksa apakah kontainer-kontainer tersebut 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 instance 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.
Jadikan perangkat GPU 0 terlihat oleh Milvus:
$ CUDA_VISIBLE_DEVICES=0 ./milvus run standalone
Jadikan 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
Konfigurasi pool memori
Setelah Milvus berjalan, Anda dapat menyesuaikan pool memori dengan mengubah pengaturan initMemSize dan maxMemSize di berkas milvus.yaml.
Berkas milvus.yaml terletak di direktori /milvus/configs/ di dalam kontainer Milvus.
Untuk mengonfigurasi pool 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.yamlBuka berkas
milvus.yamlyang telah disalin menggunakan editor teks pilihan Anda. Misalnya, menggunakan vim:vim milvus.yamlEdit pengaturan `
initMemSize` dan `maxMemSize` sesuai kebutuhan, lalu simpan perubahan Anda:... gpu: initMemSize: 0 maxMemSize: 0 ...initMemSize: Ukuran awal kolam memori. Nilai defaultnya adalah 1024.maxMemSize: Ukuran maksimum kolam memori. Nilai defaultnya 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.yamlMulai ulang kontainer Milvus untuk menerapkan perubahan:
docker stop <milvus_container_id> docker start <milvus_container_id>
Storage V3 dinonaktifkan secara default. Aktifkan fitur ini sebelum menggunakan fitur-fitur yang bergantung padanya. Untuk persyaratan dan pertimbangan kompatibilitas, lihat Storage V3.
Langkah selanjutnya
Setelah menginstal Milvus di Docker, Anda dapat:
Lihat Panduan Cepat untuk mengetahui apa saja yang dapat dilakukan Milvus.
Lihat Milvus WebUI untuk mempelajari lebih lanjut tentang instance Milvus.
Pelajari operasi dasar Milvus:
Terapkan kluster Milvus Anda di cloud:
Jelajahi Milvus WebUI, antarmuka web yang intuitif untuk pemantauan dan pengelolaan 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 pengelolaan Milvus yang intuitif.