إعداد موازن تحميل من الطبقة 7 لميلفوس على AWS
عند مقارنته بموازن تحميل الطبقة 4، يوفر موازن التحميل من الطبقة 7 إمكانات ذكية لموازنة التحميل والتخزين المؤقت، وهو خيار رائع للخدمات السحابية الأصلية.
يرشدك هذا الدليل إلى كيفية إعداد موازن تحميل من الطبقة 7 لمجموعة Milvus التي تعمل بالفعل خلف موازن تحميل من الطبقة 4.
قبل البدء
تعديل تكوينات Milvus
يفترض هذا الدليل أنك قمت بالفعل بنشر مجموعة Milvus خلف موازن تحميل من الطبقة 4 على AWS.
قبل إعداد موازن تحميل من الطبقة السابعة لمجموعة Milvus العنقودية هذه، قم بتشغيل الأمر التالي لإزالة موازن تحميل الطبقة الرابعة.
helm upgrade milvus-demo milvus/milvus -n milvus --set service.type=ClusterIP
إعداد شهادات TLS
يتطلب TLS شهادات للعمل. نحن نستخدم ACM لإدارة الشهادات ونحتاج إلى استيراد شهادة موجودة إلى ACM. ارجع إلى استيراد شهادة. وفيما يلي مثال على ذلك.
# If the import-certificate command is successful, it returns the arn of the imported certificate.
aws acm import-certificate --certificate fileb://Certificate.pem \
--certificate-chain fileb://CertificateChain.pem \
--private-key fileb://PrivateKey.pem
قم بإنشاء مدخل لإنشاء موازن تحميل من الطبقة السابعة
قم بإعداد ملف الدخول على النحو التالي وقم بتسميته ingress.yaml
. قم باستبدال الشهادة arn والمضيف بالشهادة الخاصة بك.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
namespace: milvus
name: milvus-demo
annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/backend-protocol-version: GRPC
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
alb.ingress.kubernetes.io/certificate-arn: "arn:aws:acm:region:account-id:certificate/certificate-id"
spec:
ingressClassName: alb
rules:
- host: milvus-demo.milvus.io
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: milvus-demo
port:
number: 19530
ثم يمكنك إنشاء الدخول عن طريق تطبيق الملف على مجموعة EKS الخاصة بك.
kubectl apply -f ingress.yaml
الآن، انتظر حتى تقوم AWS بإعداد موازن تحميل الطبقة 7. يمكنك التحقق من التقدم عن طريق تشغيل
kubectl -f ingress.yaml get -w
يجب أن يكون الناتج مشابهًا لما يلي:
NAME CLASS HOSTS ADDRESS PORTS AGE
milvus-demo alb milvus-demo.milvus.io k8s-milvus-milvusde-2f72215c02-778371620.us-east-2.elb.amazonaws.com 80 10m
بمجرد عرض العنوان في حقل ADDRESS، يكون موازن تحميل Layer-7 جاهزًا للاستخدام.
تحقق من الاتصال من خلال موازن التحميل Layer-7
يستخدم هذا الدليل PyMilvus للتحقق من الاتصال بخدمة Milvus خلف موازن تحميل Layer-7 الذي أنشأناه للتو. للاطلاع على الخطوات التفصيلية، اقرأ هذا.
from pymilvus import (
connections,
utility,
FieldSchema,
CollectionSchema,
DataType,
Collection,
)
connections.connect("default", host="k8s-milvus-milvusde-2f72215c02-778371620.us-east-2.elb.amazonaws.com", port="443", secure=True, server_name="milvus-demo.milvus.io")
- يجب استبدال المضيف واسم_الخادم باسمك.
- إذا كنت قد أعددت سجل DNS لتعيين اسم المجال إلى alb، استبدل المضيف باسم المجال واحذف اسم_الخادم_الاسم.