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

milvus-logo
LFAI
الصفحة الرئيسية
  • ابدأ الآن
  • Home
  • Docs
  • ابدأ الآن

  • تثبيت ميلفوس

  • تشغيل ميلفوس الموزعة

  • مخطط الدفة

تشغيل Milvus في Kubernetes باستخدام Helm

توضح هذه الصفحة كيفية بدء تشغيل مثيل Milvus في Kubernetes باستخدام مخططات Milvus Helm.

نظرة عامة

يستخدم Helm تنسيق تغليف يسمى المخططات. المخطط عبارة عن مجموعة من الملفات التي تصف مجموعة ذات صلة من موارد Kubernetes. يوفر Milvus مجموعة من المخططات لمساعدتك في نشر تبعيات ومكونات Milvus.

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

  • تثبيت Helm CLI.

  • إنشاء مجموعة K8s.

  • تثبيت StorageClass. يمكنك التحقق من StorageClass المثبت على النحو التالي.

    $ kubectl get sc
    
    NAME                  PROVISIONER                  RECLAIMPOLICY    VOLUMEBIINDINGMODE    ALLOWVOLUMEEXPANSION     AGE
    standard (default)    k8s.io/minikube-hostpath     Delete           Immediate             false 
    
  • تحقق من متطلبات الأجهزة والبرامج قبل التثبيت.

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

إذا واجهتك أي مشاكل في سحب الصورة، اتصل بنا على community@zilliz.com مع تفاصيل المشكلة، وسنقدم لك الدعم اللازم.

تثبيت مخطط ميلفوس هيلم

قبل تثبيت مخططات Milvus Helm Charts، تحتاج إلى إضافة مستودع Milvus Helm.

$ helm repo add milvus https://zilliztech.github.io/milvus-helm/

تمت أرشفة ريبو Milvus Helm Charts على https://github.com/milvus-io/milvus-helm ويمكنك الحصول على المزيد من التحديثات من https://github.com/zilliztech/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

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

ثم قم بجلب مخططات Milvus من المستودع على النحو التالي:

$ helm repo update

يمكنك دائمًا تشغيل هذا الأمر لجلب أحدث مخططات Milvus Helm.

التثبيت عبر الإنترنت

1. نشر مجموعة Milvus

بمجرد تثبيت مخطط Helm، يمكنك بدء تشغيل Milvus على Kubernetes. سيرشدك هذا القسم إلى خطوات بدء تشغيل Milvus.

$ helm install my-release milvus/milvus

في الأمر أعلاه، my-release هو اسم الإصدار، و milvus/milvus هو مستودع المخطط المثبت محليًا. لاستخدام اسم مختلف، استبدل my-release بالاسم الذي تراه مناسبًا.

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

  • يجب أن يحتوي اسم الإصدار على أحرف وأرقام وشرطات فقط. النقاط غير مسموح بها في اسم الإصدار.
  • يقوم سطر الأوامر الافتراضي بتثبيت الإصدار العنقودي من Milvus أثناء تثبيت Milvus مع Helm. هناك حاجة إلى مزيد من الإعدادات أثناء تثبيت Milvus مستقل.
  • وفقًا لدليل ترحيل واجهة برمجة التطبيقات المهملة لـ Kubernetes، لم يعد يتم تقديم إصدار واجهة برمجة التطبيقات السياسة/إصدار v1beta1 من PodDisruptionBudget اعتبارًا من الإصدار v1.25. يُقترح عليك ترحيل البيانات وعملاء واجهة برمجة التطبيقات لاستخدام إصدار واجهة برمجة تطبيقات السياسة/الإصدار الأول بدلاً من ذلك.
    كحل بديل للمستخدمين الذين لا يزالون يستخدمون إصدار السياسة/ الإصدار الأول من واجهة برمجة التطبيقات من PodDisruptionBudget على Kubernetes v1.25 والإصدارات الأحدث، يمكنك بدلاً من ذلك تشغيل الأمر التالي لتثبيت Milvus:
    helm install my-release milvus/milvus --set pulsar.bookkeeper.pdb.usePolicy=false,pulsar.broker.pdb.usePolicy=false,pulsar.proxy.pdb.usePolicy=false,pulsar.zookeeper.pdb.usePolicy=false
  • انظر مخطط Milvus Helm و Helm لمزيد من المعلومات.

2. تحقق من حالة مجموعة ميلفوس

قم بتشغيل الأمر التالي للتحقق من حالة جميع الكبسولات في مجموعة ميلفوس الخاصة بك.

$ kubectl get pods

بمجرد تشغيل جميع الكبسولات، يجب أن تكون مخرجات الأمر أعلاه مشابهة لما يلي:

NAME                                             READY  STATUS   RESTARTS  AGE
my-release-etcd-0                                1/1    Running   0        3m23s
my-release-etcd-1                                1/1    Running   0        3m23s
my-release-etcd-2                                1/1    Running   0        3m23s
my-release-milvus-datanode-68cb87dcbd-4khpm      1/1    Running   0        3m23s
my-release-milvus-indexnode-5c5f7b5bd9-l8hjg     1/1    Running   0        3m24s
my-release-milvus-mixcoord-7fb9488465-dmbbj      1/1    Running   0        3m23s
my-release-milvus-proxy-6bd7f5587-ds2xv          1/1    Running   0        3m24s
my-release-milvus-querynode-5cd8fff495-k6gtg     1/1    Running   0        3m24s
my-release-minio-0                               1/1    Running   0        3m23s
my-release-minio-1                               1/1    Running   0        3m23s
my-release-minio-2                               1/1    Running   0        3m23s
my-release-minio-3                               1/1    Running   0        3m23s
my-release-pulsar-autorecovery-86f5dbdf77-lchpc  1/1    Running   0        3m24s
my-release-pulsar-bookkeeper-0                   1/1    Running   0        3m23s
my-release-pulsar-bookkeeper-1                   1/1    Running   0        98s
my-release-pulsar-broker-556ff89d4c-2m29m        1/1    Running   0        3m23s
my-release-pulsar-proxy-6fbd75db75-nhg4v         1/1    Running   0        3m23s
my-release-pulsar-zookeeper-0                    1/1    Running   0        3m23s
my-release-pulsar-zookeeper-metadata-98zbr       0/1   Completed  0        3m24s

يمكنك أيضًا الوصول إلى Milvus WebUI على http://127.0.0.1:9091/webui/ لمعرفة المزيد عن مثيل Milvus الخاص بك. للحصول على التفاصيل، ارجع إلى Milvus WebUI.

3. إعادة توجيه منفذ محلي إلى ميلفوس

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

$ kubectl get pod my-release-milvus-proxy-6bd7f5587-ds2xv --template
='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}'
19530

يظهر الإخراج أن مثيل Milvus يعمل على المنفذ الافتراضي 19530.

إذا كنت قد قمت بنشر Milvus في الوضع المستقل، قم بتغيير اسم الكبسولة من my-release-milvus-proxy-xxxxxxxxxx-xxxxx إلى my-release-milvus-xxxxxxxxxx-xxxxx.

ثم، قم بتشغيل الأمر التالي لإعادة توجيه منفذ محلي إلى المنفذ الذي يخدم فيه ميلفوس.

$ kubectl port-forward service/my-release-milvus 27017:19530
Forwarding from 127.0.0.1:27017 -> 19530

اختياريًا، يمكنك استخدام :19530 بدلًا من 27017:19530 في الأمر أعلاه للسماح لـ kubectl بتخصيص منفذ محلي لك حتى لا تضطر إلى إدارة تعارضات المنافذ.

بشكل افتراضي، يستمع منفذ إعادة توجيه المنفذ الخاص بـ kubectl بشكل افتراضي فقط على localhost. استخدم العلامة address إذا كنت تريد أن يستمع ميلفوس على عناوين IP المحددة أو جميع عناوين IP. الأمر التالي يجعل أمر إعادة توجيه المنفذ يستمع على جميع عناوين IP على الجهاز المضيف.

الوصول إلى Milvus WebUI

يأتي Milvus مزودًا بأداة واجهة مستخدم رسومية مدمجة تسمى Milvus WebUI والتي يمكنك الوصول إليها من خلال متصفحك. تعزز واجهة مستخدم Milvus WebUI إمكانية مراقبة النظام بواجهة بسيطة وبديهية. يمكنك استخدام واجهة مستخدم ويب Milvus Web UI لمراقبة الإحصائيات والمقاييس الخاصة بمكونات وتبعيات Milvus، والتحقق من تفاصيل قاعدة البيانات والتجميع، وسرد تكوينات Milvus المفصلة. للحصول على تفاصيل حول واجهة مستخدم ميلفوس ويب، راجع واجهة مستخدم ميلفوس ويب

لتمكين الوصول إلى واجهة مستخدم ويب Milvus Web UI، تحتاج إلى إعادة توجيه منفذ إلى منفذ محلي.

$ kubectl port-forward --address 0.0.0.0 service/my-release-milvus 27018:9091
Forwarding from 0.0.0.0:27018 -> 9091

الآن، يمكنك الوصول إلى واجهة مستخدم ويب Milvus Web UI على http://localhost:27018.

التثبيت دون اتصال

إذا كنت في بيئة مقيدة بالشبكة، اتبع الإجراء الوارد في هذا القسم لبدء مجموعة Milvus.

1. احصل على بيان ميلفوس

قم بتشغيل الأمر التالي للحصول على بيان Milvus.

$ helm template my-release milvus/milvus > milvus_manifest.yaml

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

  • لتثبيت مثيل Milvus في الوضع المستقل حيث يتم تضمين جميع مكونات Milvus في كبسولة واحدة، يجب عليك تشغيل helm template my-release --set cluster.enabled=false --set etcd.replicaCount=1 --set minio.mode=standalone --set pulsar.enabled=false milvus/milvus > milvus_manifest.yaml بدلاً من ذلك لعرض قوالب البيان لمثيل Milvus في الوضع المستقل.
  • لتغيير تكوينات Milvus، قم بتحميل قالب value.yaml القالب، ضع الإعدادات التي تريدها فيه، واستخدم helm template -f values.yaml my-release milvus/milvus > milvus_manifest.yaml لعرض البيان وفقًا لذلك.

2. تنزيل البرنامج النصي لسحب الصور

تم تطوير البرنامج النصي لسحب الصور بلغة Python. يجب عليك تنزيل البرنامج النصي مع تبعياته في ملف requirement.txt.

$ wget https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/offline/requirements.txt
$ wget https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/offline/save_image.py

3. سحب الصور وحفظها

قم بتشغيل الأمر التالي لسحب الصور المطلوبة وحفظها.

$ pip3 install -r requirements.txt
$ python3 save_image.py --manifest milvus_manifest.yaml

يتم سحب الصور في مجلد فرعي باسم images في الدليل الحالي.

4. تحميل الصور

يمكنك الآن تحميل الصور إلى المضيفين في البيئة المقيدة بالشبكة على النحو التالي:

$ for image in $(find . -type f -name "*.tar.gz") ; do gunzip -c $image | docker load; done

5. نشر ميلفوس

$ kubectl apply -f milvus_manifest.yaml

حتى الآن، يمكنك اتباع الخطوتين 2 و3 من التثبيت عبر الإنترنت للتحقق من حالة المجموعة وإعادة توجيه منفذ محلي إلى Milvus.

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

قم بتشغيل الأمر التالي لترقية مجموعة Milvus قيد التشغيل إلى أحدث إصدار:

$ helm repo update
$ helm upgrade my-release zilliztech/milvus

إلغاء تثبيت ميلفوس

قم بتشغيل الأمر التالي لإلغاء تثبيت Milvus.

$ helm uninstall my-release

ما التالي

بعد تثبيت Milvus في Docker، يمكنك:

جرب Managed Milvus مجاناً

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

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

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