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

milvus-logo
LFAI
Beranda
  • Panduan Administrasi
    • Tingkatkan
  • Home
  • Docs
  • Panduan Administrasi

  • Tingkatkan

  • Tingkatkan Milvus Standalone

Mengupgrade Milvus Standalone dengan Milvus Operator

Panduan ini menjelaskan cara mengupgrade Milvus standalone Anda dengan operator Milvus.

Memutakhirkan operator Milvus Anda

Jalankan perintah berikut untuk mengupgrade versi operator Milvus Anda ke v1.2.0.

helm repo add zilliztech-milvus-operator https://zilliztech.github.io/milvus-operator/
helm repo update zilliztech-milvus-operator
helm -n milvus-operator upgrade milvus-operator zilliztech-milvus-operator/milvus-operator

Setelah Anda mengupgrade operator Milvus Anda ke versi terbaru, Anda memiliki beberapa pilihan berikut:

Melakukan pemutakhiran bergilir

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

Berdasarkan kemampuan pembaruan bergulir yang disediakan oleh Kubernetes, operator Milvus memberlakukan pembaruan yang teratur pada penerapan sesuai dengan ketergantungannya. Selain itu, Milvus mengimplementasikan mekanisme untuk memastikan bahwa komponennya tetap kompatibel dengan komponen yang bergantung padanya selama peningkatan, sehingga secara signifikan mengurangi potensi downtime layanan.

Fitur peningkatan bergulir dinonaktifkan secara default. Anda perlu mengaktifkannya secara eksplisit melalui file konfigurasi.

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
spec:
  components:
    enableRollingUpdate: true
    imageUpdateMode: rollingUpgrade # Default value, can be omitted
    image: milvusdb/milvus:v2.5.4

Pada file konfigurasi di atas, atur spec.components.enableRollingUpdate ke true dan atur spec.components.image ke versi Milvus yang diinginkan.

Secara default, Milvus melakukan pemutakhiran bergilir untuk koordinator dengan cara berurutan, di mana Milvus mengganti image pod koordinator satu per satu. Untuk mengurangi waktu peningkatan, pertimbangkan untuk mengatur spec.components.imageUpdateMode ke all sehingga Milvus mengganti semua gambar pod secara bersamaan.

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
spec:
  components:
    enableRollingUpdate: true
    imageUpdateMode: all
    image: milvusdb/milvus:v2.5.4

Anda dapat mengatur spec.components.imageUpdateMode ke rollingDowngrade agar Milvus mengganti image pod koordinator dengan versi yang lebih rendah.

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
spec:
  components:
    enableRollingUpdate: true
    imageUpdateMode: rollingDowngrade
    image: milvusdb/milvus:<some-older-version>

Kemudian simpan konfigurasi Anda sebagai berkas YAML (misalnya, milvusupgrade.yaml) dan tambal berkas konfigurasi ini ke instans Milvus Anda sebagai berikut:

kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge 

Memutakhirkan Milvus dengan mengubah citranya

Pada kasus normal, Anda cukup memperbarui Milvus Anda ke versi terbaru dengan mengubah image-nya. Namun, perhatikan bahwa akan ada waktu henti tertentu saat mengupgrade Milvus dengan cara ini.

Buatlah berkas konfigurasi sebagai berikut dan simpan sebagai milvusupgrade.yaml:

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
    name: my-release
labels:
    app: milvus
spec:
  # Omit other fields ...
  components:
   image: milvusdb/milvus:v2.5.4

Kemudian jalankan perintah berikut ini untuk melakukan peningkatan:

kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge

Migrasi metadata

Sejak Milvus 2.2.0, metadata tidak kompatibel dengan metadata pada rilis sebelumnya. Contoh cuplikan berikut mengasumsikan peningkatan dari Milvus 2.1.4 ke Milvus v2.5.4.

1. Buat file .yaml untuk migrasi metadata

Buatlah sebuah file migrasi metadata. Berikut ini adalah contohnya. Anda perlu menentukan name, sourceVersion, dan targetVersion dalam file konfigurasi. Contoh berikut ini mengatur name ke my-release-upgrade, sourceVersion ke v2.1.4, dan targetVersion ke v2.5.4. Ini berarti bahwa instans Milvus Anda akan ditingkatkan dari v2.1.4 ke v2.5.4.

apiVersion: milvus.io/v1beta1
kind: MilvusUpgrade
metadata:
  name: my-release-upgrade
spec:
  milvus:
    namespace: default
    name: my-release
  sourceVersion: "v2.1.4"
  targetVersion: "v2.5.4"
  # below are some omit default values:
  # targetImage: "milvusdb/milvus:v2.5.4"
  # toolImage: "milvusdb/meta-migration:v2.2.0"
  # operation: upgrade
  # rollbackIfFailed: true
  # backupPVC: ""
  # maxRetry: 3

2. Menerapkan konfigurasi baru

Jalankan perintah berikut untuk menerapkan konfigurasi baru.

$ kubectl create -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvusupgrade.yaml

3. Memeriksa status migrasi metadata

Jalankan perintah berikut untuk memeriksa status migrasi metadata Anda.

kubectl describe milvus release-name

Status ready pada keluaran berarti migrasi metadata berhasil.

Atau, Anda juga dapat menjalankan kubectl get pod untuk memeriksa semua pod. Jika semua pod adalah ready, migrasi metadata berhasil.

4. Hapus my-release-upgrade

Jika peningkatan berhasil, hapus my-release-upgrade dalam berkas YAML.

Coba Milvus yang Dikelola secara Gratis

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

Mulai
Umpan balik

Apakah halaman ini bermanfaat?