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

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

  • النشر

  • على السحب

  • النشر على GCP

نشر مجموعة Milvus العنقودية على GKE

Milvus هي قاعدة بيانات متجهة سحابية أصلية ويمكن نشرها على بيئات سحابية مختلفة. يرشدك هذا الدليل إلى كل التفاصيل حول إعداد Milvus على منصة Google Cloud Platform (GCP).

Deploy a Milvus cluster on GCP نشر مجموعة Milvus العنقودية على GCP

قبل البدء

لنشر Milvus على GCP، تأكد من أن

  • وجود مشروع موجود بالفعل في حساب GCP الخاص بك.

    لإنشاء مشروع، راجع إنشاء المشاريع وإدارتها. اسم المشروع المستخدم في هذا الدليل هو milvus-testing-nonprod.

  • لقد قمتَ بتثبيت gcloud CLI و kubectl و Helm محليًا أو قررت استخدام Cloud Shell المستند إلى المتصفح بدلاً من ذلك.

  • لقد قمت بتهيئة gcloud CLI باستخدام بيانات اعتماد حساب GCP الخاص بك.

قم بإعداد الشبكة

لضمان أمان Milvus، تحتاج إلى إنشاء شبكة افتراضية معزولة منطقيًا في مشروع GCP الخاص بك. يقوم الأمر التالي بإنشاء VPC.

gcloud compute networks create milvus-network \
    --project=milvus-testing-nonprod \
    --subnet-mode=auto \
    --mtu=1460 \
    --bgp-routing-mode=regional

لتسهيل عملك، تحتاج أيضًا إلى إعداد العديد من قواعد جدار الحماية للسماح بحركة المرور الخارجية عبر ICMP و RDP و SSH بالإضافة إلى حركة المرور داخل VPC.

gcloud compute firewall-rules create milvus-network-allow-icmp \
    --project=milvus-testing-nonprod \
    --network=projects/milvus-testing-nonprod/global/networks/milvus-network \
    --description="Allows ICMP connections from any source to any instance on the network." \
    --direction=INGRESS \
    --priority=65534 \
    --source-ranges=0.0.0.0/0 \
    --action=ALLOW \
    --rules=icmp

gcloud compute firewall-rules create milvus-network-allow-internal \
    --project=milvus-testing-nonprod \
    --network=projects/milvus-testing-nonprod/global/networks/milvus-network \
    --description="Allows connections from any source in the network IP range to any instance on the network using all protocols." \
    --direction=INGRESS \
    --priority=65534 \
    --source-ranges=10.128.0.0/9 \
    --action=ALLOW --rules=all

gcloud compute firewall-rules create milvus-network-allow-rdp \
    --project=milvus-testing-nonprod \
    --network=projects/milvus-testing-nonprod/global/networks/milvus-network \
    --description="Allows RDP connections from any source to any instance on the network using port 3389." \
    --direction=INGRESS \
    --priority=65534 \
    --source-ranges=0.0.0.0/0 \
    --action=ALLOW \
    --rules=tcp:3389

gcloud compute firewall-rules create milvus-network-allow-ssh \
    --project=milvus-testing-nonprod \
    --network=projects/milvus-testing-nonprod/global/networks/milvus-network \
    --description="Allows TCP connections from any source to any instance on the network using port 22." \
    --direction=INGRESS \
    --priority=65534 \
    --source-ranges=0.0.0.0/0 \
    --action=ALLOW \
    --rules=tcp:22

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

gcloud compute firewall-rules create allow-milvus-in \
    --project=milvus-testing-nonprod  \
    --description="Allow ingress traffic for Milvus on port 19530" \
    --direction=INGRESS \
    --priority=1000 \
    --network=projects/milvus-testing-nonprod/global/networks/milvus-network \
    --action=ALLOW \
    --rules=tcp:19530 \
    --source-ranges=0.0.0.0/0

توفير مجموعة Kubernetes

في هذا الدليل، سنستخدم خدمة محرك Google Kubernetes Engine (GKE) لتوفير مجموعة Kubernetes مع عقدتين في المنطقة us-west1-a. كل عقدة عبارة عن جهاز ظاهري e2-standard-4 Compute Engine يقوم بتشغيل صورة COS_CONTAINERD.

يُنصح باستخدام أنواع الأجهزة التي توفر ذاكرة لا تقل عن 16 جيجابايت لضمان استقرار الخدمة.

gcloud container clusters create "milvus-cluster-1" \
    --project "milvus-testing-nonprod" \
    --zone "us-west1-a" \
    --workload-pool "milvus-testing-nonprod.svc.id.goog" \
    --no-enable-basic-auth \
    --cluster-version "1.28.10-gke.1075001" \
    --release-channel "regular" \
    --machine-type "c2-standard-4" \
    --image-type "COS_CONTAINERD" \
    --disk-type "pd-standard" \
    --disk-size "100" \
    --max-pods-per-node "110" \
    --num-nodes "3" \
    --enable-ip-alias \
    --network "projects/milvus-testing-nonprod/global/networks/milvus-network" \
    --subnetwork "projects/milvus-testing-nonprod/regions/us-west1/subnetworks/milvus-network"

سيستغرق الأمر بضع دقائق حتى يتم تشغيل مجموعة Kubernetes العنقودية. بمجرد أن تصبح المجموعة جاهزة، استخدم الأمر التالي لجلب بيانات الاعتماد الخاصة بها حتى تتمكن من تشغيل الأوامر kubectl في جهازك الطرفي للتواصل مع المجموعة عن بُعد.

gcloud container clusters get-credentials milvus-cluster-1 --zone "us-west1-a"

استخدم Google Cloud Storage (GCS) كمخزن كائنات خارجي

  • إنشاء دلو.
gcloud storage buckets create gs://milvus-testing-nonprod --project=milvus-testing-nonprod --default-storage-class=STANDARD --location=us-west1 --uniform-bucket-level-access
  • قم بإنشاء مفتاح وصول المستخدم والمفتاح السري، يجب عليك الانتقال إلى صفحة تخزين مشروعك. في الشريط الجانبي الأيسر من لوحة التحكم، انقر على Google Cloud Storage ثم الإعدادات. حدد علامة التبويب قابلية التشغيل البيني. إذا لم تكن قد قمت بتمكينه بالفعل، فانقر على الوصول القابل للتشغيل البيني. ثم انقر على زر إنشاء مفتاح لإنشاء.

GCP Access keys for your user account مفاتيح وصول GCP لحساب المستخدم الخاص بك

  • أضف القيم.yaml
cluster:
    enabled: true

service:
    type: LoadBalancer

minio:
    enabled: false

externalS3:
    enabled: true
    host: storage.googleapis.com
    port: 443
    rootPath: milvus/my-release
    bucketName: milvus-testing-nonprod
    cloudProvider: gcp
    useSSL: true
    accessKey: "<access-key>"
    secretKey: "<secret-key>"

نشر ميلفوس

الآن مجموعة Kubernetes جاهزة. لننشر ميلفوس الآن.

helm repo add milvus https://zilliztech.github.io/milvus-helm/
helm repo update
helm install -f values.yaml my-release milvus/milvus

في الأوامر السابقة، نضيف الريبو الخاص بمخططات Milvus Helm محليًا ونقوم بتحديث الريبو لجلب أحدث المخططات. ثم نقوم بتثبيت مثيل Milvus ونسميه الإصدار الخاص بي.

لاحظ قيمة التهيئة service.type ، والتي تشير إلى أننا نرغب في تعريض مثيل Milvus من خلال موازن تحميل من الطبقة الرابعة.

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

تحقق من النشر

بمجرد تشغيل جميع البودات، قم بتشغيل الأمر التالي للحصول على عنوان IP الخارجي.

kubectl get services|grep my-release-milvus|grep LoadBalancer|awk '{print $4}'

مرحباً ميلفوس

يُرجى الرجوع إلى Hello Milvus، قم بتغيير قيمة المضيف إلى عنوان IP الخارجي، ثم قم بتشغيل الكود.

ما التالي

إذا كنت تريد معرفة كيفية نشر ميلفوس على السحب الأخرى:

جرب Managed Milvus مجاناً

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

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

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