Skala Milvus Standalone

Milvus Standalone adalah penerapan server dengan satu mesin. Semua komponen Milvus Standalone dikemas ke dalam satu citra Docker, sehingga memudahkan penyebaran. Topik ini menjelaskan cara menskalakan instans Milvus yang berjalan dalam mode ini.

Prasyarat

Saat men-deploy Milvus Standalone dengan Docker atau Docker Compose, skrip deployment (standalone_embed.sh) atau berkas konfigurasi (docker-compose.yml) membuat beberapa volume dan memetakannya ke direktori hos untuk memastikan persistensi data.

Untuk menskalakan instans Milvus yang digunakan dengan cara ini, Anda harus menghentikan dan menghapus kontainer atau tumpukan kontainer yang ada, menerapkan ulang Milvus Standalone dengan pengaturan konfigurasi yang diperbarui, dan menggunakan kembali data yang dipertahankan di host untuk meluncurkan instans baru.

Tabel berikut mencantumkan pemetaan volume antara host dan kontainer.

Opsi penerapan

Jalur host

Jalur kontainer

Docker

$(pwd)/volumes/milvus

/var/lib/milvus

$(pwd)/embedEtcd.yaml

/milvus/configs/embedEtcd.yaml

$(pwd)/user.yaml

/milvus/configs/user.yaml

Docker Compose

${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd(milvus-etcd)

/etcd

${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio(milvus-minio)

/minio_data

${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus(milvus-standalone)

/var/lib/milvus

Sebelum menjalankan prosedur dalam panduan ini, pastikan data Anda tetap berada di jalur hos di atas.

Menskalakan instans yang digunakan menggunakan Docker

Untuk menskalakan instans Milvus yang sedang berjalan, Anda harus menghentikan instans, menghapus kontainer, dan men-deploy ulang instans dengan pengaturan baru dan data yang dipertahankan.

Prosedur spesifiknya adalah sebagai berikut:

  1. Jalankan docker stats milvus-standalone untuk melihat CPU dan memori yang dialokasikan ke instans Milvus. Keluarannya akan serupa dengan yang berikut ini:

    CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT     MEM %     NET I/O       BLOCK I/O         PIDS
    917da667f2ff   milvus-standalone   6.10%     171.8MiB / 3.886GiB   4.32%     1.57kB / 0B   1.01GB / 1.79MB   31
    

    Pada keluaran perintah, Anda dapat menemukan penggunaan sumber daya saat ini dari instans Milvus Anda.

  2. Hentikan dan hapus kontainer.

    $ docker stop milvus-standalone
    $ docker rm milvus-standalone
    
  3. Cari berkas skrip standalone_embed.sh, temukan perintah docker run, dan tambahkan batas sumber daya.

    ...
        sudo docker run -d \
            --name milvus-standalone \
            --security-opt seccomp:unconfined \
            -e ETCD_USE_EMBED=true \
            -e ETCD_DATA_DIR=/var/lib/milvus/etcd \
            -e ETCD_CONFIG_PATH=/milvus/configs/embedEtcd.yaml \
            -e COMMON_STORAGETYPE=local \
            -v $(pwd)/volumes/milvus:/var/lib/milvus \
            -v $(pwd)/embedEtcd.yaml:/milvus/configs/embedEtcd.yaml \
            -v $(pwd)/user.yaml:/milvus/configs/user.yaml \
            -p 19530:19530 \
            -p 9091:9091 \
            -p 2379:2379 \
            --health-cmd="curl -f http://localhost:9091/healthz" \
            --health-interval=30s \
            --health-start-period=90s \
            --health-timeout=20s \
            --health-retries=3 \
            --memory="4g" \          # New memory limit
            --cpus="2.0" \           # New CPU limit
            milvusdb/milvus:v2.5.11 \
            milvus run standalone  1> /dev/null
    
  4. Pastikan data yang dipertahankan berada dalam folder yang sama dengan skrip standalone_embed.sh, dan jalankan skrip sebagai berikut:

    sudo  bash standalone_embed.sh start
    
  5. Jalankan docker stats milvus-standalone untuk melihat CPU dan memori yang dialokasikan ke instans Milvus setelah penskalaan. Keluarannya akan serupa dengan yang berikut ini:

    CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT   MEM %     NET I/O       BLOCK I/O        PIDS
    7aea450f87ce   milvus-standalone   7.52%     210.9MiB / 4GiB     5.15%     1.05kB / 0B   610kB / 8.19kB   29
    

Menskalakan instans yang digunakan menggunakan Docker Compose

Untuk menskalakan instans Milvus yang sedang berjalan, Anda harus menghentikan instans, menghapus tumpukan kontainer, dan men-deploy ulang instans dengan pengaturan baru dan data yang dipertahankan.

Prosedur spesifiknya adalah sebagai berikut:

  1. Jalankan docker stats milvus-standalone untuk melihat CPU dan memori yang dialokasikan ke instans Milvus. Keluarannya akan serupa dengan yang berikut ini:

    CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT     MEM %     NET I/O       BLOCK I/O         PIDS
    917da667f2ff   milvus-standalone   6.10%     171.8MiB / 3.886GiB   4.32%     1.57kB / 0B   1.01GB / 1.79MB   31
    

    Pada keluaran perintah, Anda dapat menemukan penggunaan sumber daya saat ini dari instans Milvus Anda.

  2. Hentikan dan hapus tumpukan kontainer.

    $ docker compose down
    
  3. Cari berkas konfigurasi docker-compose.yml, temukan bagian standalone, dan tambahkan batas sumber daya.

    ...
      standalone:
        container_name: milvus-standalone
        image: milvusdb/milvus:v2.5.8
        command: ["milvus", "run", "standalone"]
        deploy:
          resources:
            limits:
              cpus: "2"   # new cpu limits
              memory: 4G  # new memory limits
        security_opt:
        - seccomp:unconfined
        environment:
          ETCD_ENDPOINTS: etcd:2379
          MINIO_ADDRESS: minio:9000
        volumes:
          - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus
        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"
    
  4. Pastikan data yang tersimpan tersedia, dan jalankan docker compose sebagai berikut:

    docker compose up -d
    
  5. Jalankan docker stats milvus-standalone untuk melihat CPU dan memori yang dialokasikan ke instans Milvus setelah penskalaan. Outputnya seharusnya serupa dengan yang berikut ini:

    CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT   MEM %     NET I/O       BLOCK I/O        PIDS
    7aea450f87ce   milvus-standalone   7.52%     210.9MiB / 4GiB     5.15%     1.05kB / 0B   610kB / 8.19kB   29
    

Coba Milvus yang Dikelola secara Gratis

Zilliz Cloud bebas masalah, didukung oleh Milvus dan 10x lebih cepat.

Mulai
Umpan balik

Apakah halaman ini bermanfaat?