🚀 Coba Zilliz Cloud, Milvus yang sepenuhnya terkelola, secara gratis—rasakan performa 10x lebih cepat! Coba Sekarang>>

milvus-logo
LFAI
Beranda
  • Panduan Administrasi
    • Tingkatkan

Meningkatkan Milvus Standalone dengan Helm Chart

Panduan ini menjelaskan cara mengupgrade Milvus standalone Anda dengan Milvus Helm chart.

Prasyarat

  • Versi Helm >= 3.14.0
  • Versi Kubernetes >= 1.20.0

Sejak grafik Milvus-Helm versi 4.2.21, kami memperkenalkan grafik pulsar-v3.x sebagai ketergantungan. Untuk kompatibilitas ke belakang, harap tingkatkan helm Anda ke versi v3.14 atau versi yang lebih baru, dan pastikan untuk menambahkan opsi --reset-then-reuse-values setiap kali Anda menggunakan helm upgrade.

Memeriksa versi Milvus

Jalankan perintah berikut ini untuk memeriksa versi Milvus yang baru.

$ helm repo update
$ helm search repo zilliztech/milvus --versions

Repo Milvus Helm Charts di https://milvus-io.github.io/milvus-helm/ telah diarsipkan dan Anda dapat memperoleh pembaruan lebih lanjut dari https://zilliztech.github.io/milvus-helm/ sebagai berikut:

helm repo add zilliztech https://zilliztech.github.io/milvus-helm
helm repo update zilliztech
# upgrade existing helm release
helm upgrade my-release zilliztech/milvus --reset-then-reuse-values

Repo yang diarsipkan masih tersedia untuk grafik hingga versi 4.0.31. Untuk rilis yang lebih baru, gunakan repo yang baru.

NAME                    CHART VERSION   APP VERSION             DESCRIPTION                                       
zilliztech/milvus       4.1.34          2.4.5                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.33          2.4.4                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.32          2.4.3                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.31          2.4.1                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.30          2.4.1                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.29          2.4.0                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.24          2.3.11                  Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.23          2.3.10                  Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.22          2.3.10                  Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.21          2.3.10                  Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.20          2.3.10                  Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.18          2.3.10                  Milvus is an open-source vector database built ... 
zilliztech/milvus       4.1.18          2.3.9                   Milvus is an open-source vector database built ...                                       
zilliztech/milvus       4.1.17          2.3.8                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.16          2.3.7                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.15          2.3.5                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.14          2.3.6                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.13          2.3.5                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.12          2.3.5                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.11          2.3.4                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.10          2.3.3                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.9           2.3.3                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.8           2.3.2                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.7           2.3.2                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.6           2.3.1                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.5           2.3.1                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.4           2.3.1                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.3           2.3.1                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.2           2.3.1                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.1           2.3.0                   Milvus is an open-source vector database built ...
zilliztech/milvus       4.1.0           2.3.0                   Milvus is an open-source vector database built ...

Anda dapat memilih jalur upgrade untuk Milvus Anda sebagai berikut:

- [Lakukan peningkatan bergilir] (#melakukan-peningkatan bergilir) dari Milvus v2.2.3 dan rilis yang lebih baru ke v2.5.4.

Melakukan pemutakhiran bergilir

Sejak Milvus 2.2.3, Anda dapat mengkonfigurasi koordinator Milvus untuk bekerja dalam mode siaga aktif dan mengaktifkan fitur peningkatan bergilir untuk mereka, sehingga Milvus dapat menanggapi permintaan yang masuk selama peningkatan koordinator. Pada rilis sebelumnya, koordinator akan dihapus dan kemudian dibuat selama peningkatan, yang dapat menyebabkan waktu henti tertentu pada layanan.

Upgrade bergulir mengharuskan koordinator untuk bekerja dalam mode siaga aktif. Anda dapat menggunakan skrip yang kami sediakan untuk mengonfigurasi koordinator agar bekerja dalam mode siaga aktif dan memulai pemutakhiran bergulir.

Berdasarkan kemampuan pembaruan bergulir yang disediakan oleh Kubernetes, skrip di atas memberlakukan pembaruan terurut dari penyebaran sesuai dengan dependensinya. Selain itu, Milvus mengimplementasikan mekanisme untuk memastikan bahwa komponen-komponennya tetap kompatibel dengan komponen-komponen yang bergantung padanya selama peningkatan, sehingga secara signifikan mengurangi potensi waktu henti layanan.

Skrip ini hanya berlaku untuk peningkatan Milvus yang diinstal dengan Helm. Tabel berikut mencantumkan flag perintah yang tersedia dalam skrip.

ParameterDeskripsiNilai defaultDiperlukan
iNama instance MilvusNoneBenar
nRuang nama tempat Milvus diinstaldefaultSalah
tVersi Milvus yang ditargetkanNoneBenar
wTag gambar Milvus yang barumilvusdb/milvus:v2.2.3Benar
oOperasiupdateSalah

Setelah Anda memastikan bahwa semua deployment dalam instans Milvus Anda berada dalam status normal. Anda dapat menjalankan perintah berikut untuk meng-upgrade instans Milvus ke 2.5.4.

sh rollingUpdate.sh -n default -i my-release -o update -t 2.5.4 -w 'milvusdb/milvus:v2.5.4'
  1. Skrip ini tidak berlaku pada instans Milvus yang terinstalasi dengan RocksMQ.
  2. Skrip ini mengkodekan urutan peningkatan penyebaran dan tidak dapat diubah.
  3. Skrip ini menggunakan kubectl patch untuk memperbarui penyebaran dan kubectl rollout status untuk melihat statusnya.
  4. Skrip menggunakan kubectl patch untuk memperbarui label app.kubernetes.io/version pada deployment ke label yang ditentukan setelah bendera -t pada perintah.

Memutakhirkan Milvus menggunakan Helm

Untuk memutakhirkan Milvus dari rilis minor sebelum v2.2.3 ke versi terbaru, jalankan perintah berikut:

helm repo update
helm upgrade my-release milvus/milvus --reset-then-reuse-values --version=4.1.24 # use the helm chart version here

Gunakan versi grafik Helm pada perintah sebelumnya. Untuk detail mengenai cara mendapatkan versi grafik Helm, lihat Memeriksa versi Milvus.

Memigrasi metadata

Sejak Milvus 2.2.0, metadata tidak kompatibel dengan metadata pada rilis sebelumnya. Contoh cuplikan berikut ini mengasumsikan upgrade dari Milvus 2.1.4 ke Milvus 2.2.0.

1. Memeriksa versi Milvus

Jalankan $ helm list untuk memeriksa versi aplikasi Milvus Anda. Anda dapat melihat bahwa APP VERSION adalah 2.1.4.

NAME                NAMESPACE   REVISION    UPDATED                                 STATUS      CHART           APP VERSION     
my-release          default     1           2022-11-21 15:41:25.51539 +0800 CST     deployed    milvus-3.2.18   2.1.4

2. Memeriksa pod yang sedang berjalan

Jalankan $ kubectl get pods untuk memeriksa pod yang sedang berjalan. Anda dapat melihat keluaran berikut ini.

NAME                                            READY   STATUS    RESTARTS   AGE
my-release-etcd-0                               1/1     Running   0          84s
my-release-milvus-standalone-75c599fffc-6rwlj   1/1     Running   0          84s
my-release-minio-744dd9586f-qngzv               1/1     Running   0          84s

3. Memeriksa tag gambar

Periksa tag gambar untuk pod my-release-milvus-proxy-6c548f787f-scspp. Anda dapat melihat rilis klaster Milvus Anda adalah v2.1.4.

$ kubectl get pods my-release-milvus-proxy-6c548f787f-scspp -o=jsonpath='{$.spec.containers[0].image}'
# milvusdb/milvus:v2.1.4

4. Migrasi metadata

Perubahan besar di Milvus 2.2 adalah struktur metadata dari indeks segmen. Oleh karena itu, Anda perlu menggunakan Helm untuk memigrasikan metadata ketika mengupgrade Milvus dari v2.1.x ke v2.2.0. Berikut ini adalah skrip untuk memigrasikan metadata Anda dengan aman.

Skrip ini hanya berlaku untuk Milvus yang diinstal pada cluster K8s. Kembalikan ke versi sebelumnya dengan operasi rollback terlebih dahulu jika terjadi kesalahan selama proses.

Tabel berikut mencantumkan operasi yang dapat Anda lakukan untuk migrasi metadata.

ParameterDeskripsiNilai defaultWajib diisi
iNama instance Milvus.NoneTrue
nRuang nama tempat Milvus diinstal.defaultFalse
sVersi Milvus sumber.NoneTrue
tVersi Milvus target.NoneBenar
rJalur akar dari meta Milvus.by-devSalah
wTag gambar Milvus yang baru.milvusdb/milvus:v2.2.0False
mTag gambar migrasi meta.milvusdb/meta-migration:v2.2.0False
oOperasi migrasi meta.migrateFalse
dApakah akan menghapus pod migrasi setelah migrasi selesai.falseFalse
cKelas penyimpanan untuk meta migrasi pvc.default storage classFalse
eEnpoint etcd yang digunakan oleh milvus.etcd svc installed with milvusFalse

1. Memigrasi metadata

  1. Unduh skrip migrasi.
  2. Hentikan komponen Milvus. Sesi live apa pun di Milvus etcd dapat menyebabkan kegagalan migrasi.
  3. Buat cadangan untuk metadata Milvus.
  4. Migrasi metadata Milvus.
  5. Memulai komponen Milvus dengan image baru.

2. Memutakhirkan Milvus dari v2.1.x ke 2.5.4

Perintah berikut ini mengasumsikan bahwa Anda memutakhirkan Milvus dari v2.1.4 ke 2.5.4. Ubahlah ke versi yang sesuai dengan kebutuhan Anda.

  1. Tentukan nama instans Milvus, versi Milvus sumber, dan versi Milvus target.

    ./migrate.sh -i my-release -s 2.1.4 -t 2.5.4
    
  2. Tentukan namespace dengan -n jika Milvus Anda tidak terinstal pada namespace default K8s.

    ./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.4
    
  3. Tentukan jalur root dengan -r jika Milvus Anda terinstalasi dengan rootpath.

    ./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.4 -r by-dev
    
  4. Tentukan tag gambar dengan -w jika Milvus Anda terinstalasi dengan image.

    ./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.4 -r by-dev -w milvusdb/milvus:v2.5.4
    
  5. Tetapkan -d true jika Anda ingin menghapus pod migrasi secara otomatis setelah migrasi selesai.

    ./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.4 -w milvusdb/milvus:v2.5.4 -d true
    
  6. Kembalikan dan migrasi lagi jika migrasi gagal.

    ./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.4 -r by-dev -o rollback -w milvusdb/milvus:v2.1.1
    ./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.4 -r by-dev -o migrate -w milvusdb/milvus:v2.5.4
    

Coba Milvus yang Dikelola secara Gratis

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

Mulai
Umpan balik

Apakah halaman ini bermanfaat?