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

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

  • الترقية

  • ترقية مجموعة ميلفوس العنقودية

ترقية مجموعة ميلفوس العنقودية باستخدام مشغل ميلفوس

يصف هذا الدليل كيفية ترقية مجموعة Milvus العنقودية الخاصة بك مع مشغل Milvus.

ترقية مشغل ميلفوس الخاص بك

قم بتشغيل الأمر التالي لترقية إصدار مشغل Milvus الخاص بك إلى الإصدار 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

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

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

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

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

يتم تعطيل ميزة الترقية المتجددة بشكل افتراضي. تحتاج إلى تمكينها بشكل صريح من خلال ملف تهيئة.

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

في ملف التكوين أعلاه، اضبط spec.components.enableRollingUpdate على true واضبط spec.components.image على إصدار Milvus المطلوب.

بشكل افتراضي، يقوم Milvus بإجراء ترقية متجددة للمنسقين بطريقة مرتبة، حيث يقوم باستبدال صور حجرة المنسق واحدة تلو الأخرى. لتقليل وقت الترقية، ضع في اعتبارك تعيين spec.components.imageUpdateMode إلى all بحيث يستبدل ميلفوس جميع صور الكبسولات في نفس الوقت.

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

يمكنك تعيين spec.components.imageUpdateMode إلى rollingDowngrade لجعل Milvus يستبدل صور جراب المنسق بإصدار أقل.

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

ثم احفظ التكوين الخاص بك كملف YAML (على سبيل المثال، milvusupgrade.yaml) وقم بتصحيح ملف التكوين هذا إلى مثيل Milvus الخاص بك على النحو التالي:

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

قم بترقية Milvus عن طريق تغيير صورته

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

قم بتكوين ملف تهيئة على النحو التالي واحفظه باسم milvusupgrade.yaml:

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

ثم قم بتشغيل ما يلي لتنفيذ الترقية:

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

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

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

1. إنشاء ملف .yaml لترحيل البيانات الوصفية

قم بإنشاء ملف ترحيل البيانات الوصفية. وفيما يلي مثال على ذلك. تحتاج إلى تحديد name و sourceVersion و targetVersion في ملف التكوين. يقوم المثال التالي بتعيين name إلى my-release-upgrade ، sourceVersion إلى v2.1.4 ، و targetVersion إلى v2.5.4. هذا يعني أنه ستتم ترقية مجموعة Milvus من الإصدار 2.1.4 إلى الإصدار 2.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. تطبيق التكوين الجديد

قم بتشغيل الأمر التالي لإنشاء التكوين الجديد.

$ kubectl create -f https://github.com/zilliztech/milvus-operator/blob/main/config/samples/beta/milvusupgrade.yaml

3. تحقق من حالة ترحيل البيانات الوصفية

قم بتشغيل الأمر التالي للتحقق من حالة ترحيل بيانات التعريف.

kubectl describe milvus release-name

تعني الحالة ready في الإخراج أن حالة في الإخراج أن عملية ترحيل البيانات الوصفية ناجحة.

أو يمكنك أيضًا تشغيل kubectl get pod للتحقق من جميع الكبسولات. إذا كانت جميع القرون ready ، فإن ترحيل البيانات الوصفية ناجح.

4. حذف my-release-upgrade

عند نجاح الترقية، احذف my-release-upgrade في ملف YAML.

جرب Managed Milvus مجاناً

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

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

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