🚀 جرب Zilliz Cloud، الـ Milvus المدارة بالكامل، مجاناً — تجربة أداء أسرع بـ 10 أضعاف! جرب الآن>>

milvus-logo
LFAI
الصفحة الرئيسية
  • دليل الإدارة

ترقية مجموعة Milvus العنقودية باستخدام مخطط Helm

يصف هذا الدليل كيفية ترقية مجموعة Milvus الخاصة بك باستخدام مخططات Milvus Helm.

المتطلبات الأساسية

  • إصدار Helm >= 3.14.0
  • إصدار Kubernetes >= 1.20.0

منذ الإصدار 4.2.21 من مخطط Milvus-Helm، قدمنا مخطط pulsar-v3.x كإصدار تبعي. للتوافق مع الإصدارات السابقة، يُرجى ترقية الدفة إلى الإصدار 3.14 أو إصدار أحدث، وتأكد من إضافة الخيار --reset-then-reuse-values كلما استخدمت helm upgrade.

تحقق من مخطط ميلفوس هيلم

قم بتشغيل الأوامر التالية للتحقق من إصدارات Milvus الجديدة.

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

تمت أرشفة ريبو Milvus Helm Charts على https://milvus-io.github.io/milvus-helm/ ويمكنك الحصول على تحديثات أخرى من https://zilliztech.github.io/milvus-helm/ على النحو التالي:

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

لا يزال الريبو المؤرشف متاحًا للمخططات حتى الإصدار 4.0.31. بالنسبة للإصدارات الأحدث، استخدم الريبو الجديد بدلاً من ذلك.

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 ...

يمكنك اختيار مسار الترقية لميلفوس الخاص بك على النحو التالي:

- [إجراء ترقية متجددة] (#إجراء ترقية متجددة) من الإصدار 2.2.3 والإصدارات الأحدث إلى الإصدار 2.5.4.

إجراء ترقية متجددة

منذ الإصدار Milvus 2.2.3، يمكنك تكوين منسقي Milvus للعمل في وضع الاستعداد النشط وتمكين ميزة الترقية المتجددة لهم، بحيث يمكن لـ Milvus الاستجابة للطلبات الواردة أثناء ترقيات المنسق. في الإصدارات السابقة، يجب إزالة المنسقين ثم إنشاؤهم أثناء الترقية، مما قد يؤدي إلى تعطل معين للخدمة.

تتطلب الترقيات المتجددة أن يعمل المنسقون في وضع الاستعداد النشط. يمكنك استخدام البرنامج النصي الذي نقدمه لتهيئة المنسقين للعمل في وضع الاستعداد النشط وبدء الترقية المتجددة.

استنادًا إلى إمكانيات التحديث المتداول التي توفرها Kubernetes، يفرض البرنامج النصي أعلاه تحديثًا مرتبًا لعمليات النشر وفقًا لتبعياتها. بالإضافة إلى ذلك، تطبق Milvus آلية لضمان بقاء مكوناتها متوافقة مع تلك التي تعتمد عليها أثناء الترقية، مما يقلل بشكل كبير من وقت تعطل الخدمة المحتمل.

ينطبق البرنامج النصي فقط على ترقية Milvus المثبتة مع Helm. يسرد الجدول التالي علامات الأوامر المتوفرة في البرامج النصية.

المعلماتالوصفالقيمة الافتراضيةمطلوبة
iاسم مثيل ميلفوسNoneصحيح
nمساحة الاسم الذي تم تثبيت Milvus فيهdefaultخطأ
tإصدار ميلفوس المستهدفNoneصحيح
wعلامة صورة ميلفوس الجديدةmilvusdb/milvus:v2.2.3صحيح
oالتشغيلupdateخطأ

بمجرد التأكد من أن جميع عمليات النشر في مثيل Milvus الخاص بك في حالتها الطبيعية. يمكنك تشغيل الأمر التالي لترقية مثيل Milvus إلى 2.5.4.

sh rollingUpdate.sh -n default -i my-release -o update -t 2.5.4 -w 'milvusdb/milvus:v2.5.4'
  1. يقوم البرنامج النصي بترميز ترتيب ترقية عمليات النشر بشكل ثابت ولا يمكن تغييره.
  2. يستخدم البرنامج النصي kubectl patch لتحديث عمليات النشر و kubectl rollout status لمراقبة حالتها.
  3. يستخدم البرنامج النصي kubectl patch لتحديث التسمية app.kubernetes.io/version لعمليات النشر إلى التسمية المحددة بعد العلامة -t في الأمر.

ترقية ميلفوس باستخدام هيلم

لترقية ميلفوس من إصدار ثانوي قبل الإصدار 2.2.3 إلى الأحدث، قم بتشغيل الأوامر التالية:

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

استخدم إصدار مخطط Helm في الأمر السابق. للحصول على تفاصيل حول كيفية الحصول على إصدار مخطط Helm، راجع التحقق من إصدار Milvus.

ترحيل البيانات الوصفية

منذ الإصدار Milvus 2.2.0، أصبحت البيانات الوصفية غير متوافقة مع تلك الموجودة في الإصدارات السابقة. تفترض مقتطفات الأمثلة التالية ترقية من Milvus 2.1.4 إلى Milvus 2.2.0.

1. تحقق من إصدار ملفوس

قم بتشغيل $ helm list للتحقق من إصدار تطبيق Milvus الخاص بك. يمكنك أن ترى أن APP VERSION هو 2.1.4.

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

2. تحقق من القرون قيد التشغيل

قم بتشغيل $ kubectl get pods للتحقق من القرون قيد التشغيل. يمكنك رؤية الإخراج التالي.

NAME                                             READY   STATUS      RESTARTS   AGE
my-release-etcd-0                               1/1     Running     0          21m
my-release-etcd-1                               1/1     Running     0          21m
my-release-etcd-2                               1/1     Running     0          21m
my-release-milvus-datacoord-664c58798d-fl75s    1/1     Running     0          21m
my-release-milvus-datanode-5f75686c55-xfg2r     1/1     Running     0          21m
my-release-milvus-indexcoord-5f98b97589-2l48r   1/1     Running     0          21m
my-release-milvus-indexnode-857b4ddf98-vmd75    1/1     Running     0          21m
my-release-milvus-proxy-6c548f787f-scspp        1/1     Running     0          21m
my-release-milvus-querycoord-c454f44cd-dwmwq    1/1     Running     0          21m
my-release-milvus-querynode-76bb4946d-lbrz6     1/1     Running     0          21m
my-release-milvus-rootcoord-7764c5b686-62msm    1/1     Running     0          21m
my-release-minio-0                              1/1     Running     0          21m
my-release-minio-1                              1/1     Running     0          21m
my-release-minio-2                              1/1     Running     0          21m
my-release-minio-3                              1/1     Running     0          21m
my-release-pulsar-bookie-0                      1/1     Running     0          21m
my-release-pulsar-bookie-1                      1/1     Running     0          21m
my-release-pulsar-bookie-2                      1/1     Running     0          21m
my-release-pulsar-bookie-init-tjxpj             0/1     Completed   0          21m
my-release-pulsar-broker-0                      1/1     Running     0          21m
my-release-pulsar-proxy-0                       1/1     Running     0          21m
my-release-pulsar-pulsar-init-c8vvc             0/1     Completed   0          21m
my-release-pulsar-recovery-0                    1/1     Running     0          21m
my-release-pulsar-zookeeper-0                   1/1     Running     0          21m
my-release-pulsar-zookeeper-1                   1/1     Running     0          20m
my-release-pulsar-zookeeper-2                   1/1     Running     0          20m

3. تحقق من علامة الصورة

تحقق من علامة الصورة للبود my-release-milvus-proxy-6c548f787f-scspp. يمكنك رؤية إصدار مجموعة ميلفوس الخاص بك هو الإصدار 2.1.4.

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

4. ترحيل البيانات الوصفية

من التغييرات الرئيسية في Milvus 2.2 هو بنية البيانات الوصفية لفهارس المقاطع. لذلك ، تحتاج إلى استخدام Helm لترحيل البيانات الوصفية أثناء ترقية Milvus من الإصدار 2.1.x إلى الإصدار 2.2.0. إليك برنامج نصي لترحيل البيانات الوصفية بأمان.

ينطبق هذا البرنامج النصي فقط على Milvus المثبت على مجموعة K8s. قم بالرجوع إلى الإصدار السابق باستخدام عملية التراجع أولاً في حالة حدوث خطأ أثناء العملية.

يسرد الجدول التالي العمليات التي يمكنك القيام بها لترحيل البيانات الوصفية.

المعلماتالوصفالقيمة الافتراضيةمطلوبة
iاسم مثيل Milvus.Noneصحيح
nمساحة الاسم التي تم تثبيت Milvus فيها.defaultخطأ
sإصدار Milvus المصدر.Noneصحيح
tإصدار ميلفوس الهدف.Noneصحيح
rالمسار الجذر لـ Milvus meta.by-devخطأ
wعلامة صورة ملفوس الجديدة.milvusdb/milvus:v2.2.0خطأ
mعلامة صورة الترحيل الوصفية للصور الوصفية.milvusdb/meta-migration:v2.2.0خطأ
oعملية الترحيل الوصفية.migrateخطأ
dما إذا كان سيتم حذف جراب الترحيل بعد اكتمال الترحيل.falseخطأ
cفئة التخزين لـ pvc الترحيل الوصفية.default storage classخطأ
eنقطة إن بوينت إلخd المستخدمة من قبل ميلفوس.etcd svc installed with milvusخطأ

1. ترحيل البيانات الوصفية

  1. تحميل البرنامج النصي للترحيل.
  2. إيقاف مكونات Milvus. يمكن أن تتسبب أي جلسة عمل مباشرة في Milvus etcd في فشل الترحيل.
  3. إنشاء نسخة احتياطية للبيانات الوصفية ل Milvus.
  4. ترحيل البيانات الوصفية ل Milvus.
  5. ابدأ تشغيل مكونات Milvus بصورة جديدة.

2. ترقية ملفوس من الإصدار 2.1.x إلى 2.2.0

تفترض الأوامر التالية أنك قمت بترقية ملفوس من الإصدار 2.1.4 إلى 2.2.0. قم بتغييرها إلى الإصدارات التي تناسب احتياجاتك.

  1. حدد اسم مثيل Milvus وإصدار Milvus المصدر وإصدار Milvus الهدف.

    ./migrate.sh -i my-release -s 2.1.4 -t 2.2.0
    
  2. حدد مساحة الاسم مع -n إذا لم يكن Milvus الخاص بك مثبتًا في مساحة اسم K8s الافتراضية.

    ./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.2.0
    
  3. حدد مسار الجذر مع -r إذا كان Milvus الخاص بك مثبتًا مع المخصص rootpath.

    ./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.2.0 -r by-dev
    
  4. حدد علامة الصورة مع -w إذا كان Milvus الخاص بك مثبتًا مع مخصص image.

    ./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.2.0 -r by-dev -w milvusdb/milvus:v2.2.0
    
  5. قم بتعيين -d true إذا كنت تريد إزالة جراب الترحيل تلقائيًا بعد اكتمال الترحيل.

    ./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.2.0 -w milvusdb/milvus:v2.2.0 -d true
    
  6. التراجع والترحيل مرة أخرى إذا فشلت عملية الترحيل.

    ./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.2.0 -r by-dev -o rollback -w milvusdb/milvus:v2.1.4
    ./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.2.0 -r by-dev -o migrate -w milvusdb/milvus:v2.2.0
    

جرب Managed Milvus مجاناً

Zilliz Cloud خالي من المتاعب، ويعمل بواسطة Milvus ويعمل بسرعة 10 أضعاف.

ابدأ
التعليقات

هل كانت هذه الصفحة مفيدة؟