تحجيم تلقائي مبسط للتطبيق باستخدام المكون الإضافي Kubernetes Event-driven Autoscaling (KEDA)
يعد التحجيم التلقائي المستند إلى حدث Kubernetes (KEDA) مكونا أحادي الغرض وخفيف الوزن يسعى جاهدا لجعل التحجيم التلقائي للتطبيق بسيطا وهو مشروع CNCF الدراسات العليا.
إنه يطبق القياس التلقائي المستند إلى الأحداث لتوسيع نطاق تطبيقك لتلبية الطلب بطريقة مستدامة وفعالة من ناحية التكلفة مع توسعة النطاق إلى الصفر.
تجعل الوظيفة الإضافية KEDA الأمر أسهل من خلال نشر تثبيت KEDA مدار، ما يوفر لك كتالوج غنيا من متدرجات Azure KEDA التي يمكنك توسيع نطاق تطبيقاتك بها على نظام مجموعة Azure Kubernetes Services (AKS).
إشعار
يقدم KEDA الإصدار 2.15 تغييرا فاصلا يزيل دعم هوية الجراب. نوصي بالانتقال إلى هوية حمل العمل للمصادقة الخاصة بك إذا كنت تستخدم هوية pod. في حين أن الوظيفة الإضافية المدارة KEDA لا تشغل حاليا الإصدار 2.15 من KEDA، فإنها ستبدأ في تشغيلها في إصدار معاينة AKS 1.31.
لمزيد من المعلومات حول كيفية توسيع نطاق تطبيقاتك بأمان باستخدام هوية حمل العمل، يرجى قراءة البرنامج التعليمي. لعرض سياسة التغيير/الإهمال التي تتبعها KEDA، يرجى قراءة وثائقها الرسمية.
بناء الأنظمة
يقدم KEDA مكونين رئيسيين:
- يسمح عامل تشغيل KEDA للمستخدمين النهائيين بتغير حجم أحمال العمل للداخل/ الخارج من 0 إلى عدد N من المثيلات مع دعم عمليات نشر Kubernetes أو الوظائف أو StatefulSets أو أي مورد مخصص يحدد مصدر فرعي
/scale
. - يعرض خادم القياسات قياسات خارجية لـ HPA في Kubernetes لأغراض التحجيم التلقائي مثل الرسائل في موضوع Kafka أو عدد أحداث بمركز أحداث Azure. نظرا لقيود المصدر، يجب أن يكون KEDA محول القياس الخارجي الوحيد المثبت.
تعرف على المزيد حول كيفية عمل KEDA في وثائق KEDA الرسمية.
التثبيت
يمكن إضافة KEDA إلى مجموعة Azure Kubernetes Service (AKS) عن طريق تمكين الوظيفة الإضافية KEDA باستخدام قالب ARM أو Azure CLI.
توفر الوظيفة الإضافية KEDA تثبيتًا مدعومًا بالكامل لـ KEDA يتكامل مع AKS.
القدرات والميزات
يقوم KEDA بتوفير الإمكانات والميزات التالية:
- أنشئ تطبيقات مستدامة وفعالة من حيث التكلفة باستخدام توسعة النطاق إلى الصفر
- تحجيم أحمال عمل التطبيق لتلبية الطلب باستخدام كتالوج غني من متدرجات Azure KEDA
- تطبيق تحجيم تلقائي مع
ScaledObjects
، مثل عمليات التوزيع أو StatefulSets أو أي مورد مخصص يعرف المورد الفرعي/scale
- تحجيم تلقائي لأحمال العمل مثل الوظيفة باستخدام
ScaledJobs
- استخدم أمانًا على مستوى الإنتاج من خلال فصل مصادقة القياس التلقائي عن أحمال العمل
- أحضر مقياسًا خارجيًا خاصًا بك لاستخدام قرارات القياس التلقائي المصممة خصيصًا
- التكامل مع هوية حمل عمل Microsoft Entra للمصادقة
إشعار
إذا كنت تخطط لاستخدام هوية حمل العمل، فمكن الوظيفة الإضافية لهوية حمل العمل قبل تمكين الوظيفة الإضافية KEDA.
عملية قيود الوظيفة الإضافية
تحتوي إضافة KEDA AKS الإضافية على القيود التالية:
- لم يتم تثبيت الوظيفة الإضافية HTTP لـ KEDA (معاينة) لتوسيع نطاق أحمال عمل HTTP مع الملحق، ولكن يمكن نشرها بشكل منفصل.
- لم يتم تثبيت مقياس KEDA الخارجي لـ Azure Cosmos DB للتحجيم استنادًا إلى موجز تغيير Azure Cosmos DB مع الملحق، لكن يمكن توزيعه بشكل منفصل.
- يسمح بخادم قياس خارجي واحد فقط في مجموعة Kubernetes. وبسبب ذلك يجب أن تكون الوظيفة الإضافية KEDA هي خادم المقاييس الخارجية الوحيد داخل نظام المجموعة.
- عمليات تثبيت KEDA المتعددة غير المدعومة
بالنسبة لأسئلة KEDA العامة، نوصي بزيارة نظرة عامة على الأسئلة المتداولة.
إشعار
إذا كنت تستخدم هوية حمل عمل Microsoft Entra وقمت بتمكين KEDA قبل هوية حمل العمل، فأنت بحاجة إلى إعادة تشغيل حجيرات عامل تشغيل KEDA حتى يمكن حقن متغيرات البيئة المناسبة:
أعد تشغيل pods عن طريق تشغيل
kubectl rollout restart deployment keda-operator -n kube-system
.الحصول على وحدات جراب عامل تشغيل KEDA باستخدام
kubectl get pod -n kube-system
والعثور على pods التي تبدأ بkeda-operator
.تحقق من الإدخال الناجح لمتغيرات البيئة عن طريق تشغيل
kubectl describe pod <keda-operator-pod> -n kube-system
. ضمنEnvironment
، يجب أن تشاهد قيم وAZURE_TENANT_ID
AZURE_FEDERATED_TOKEN_FILE
و.AZURE_AUTHORITY_HOST
إصدارات Kubernetes و KEDA المدعومة
يحدد إصدار نظام المجموعة Kubernetes إصدار KEDA الذي سيتم تثبيته على نظام مجموعة AKS. لمعرفة إصدار KEDA الذي يعين إلى كل إصدار AKS، راجع عمود الوظائف الإضافية المدارة AKS لجدول إصدار مكون Kubernetes.
بالنسبة لإصدارات GA Kubernetes، تقدم AKS دعما كاملا للإصدار الثانوي المقابل ل KEDA في الجدول. تتم تغطية إصدارات معاينة Kubernetes وأحدث تصحيح KEDA جزئيا من خلال دعم العملاء على أساس أفضل جهد. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:
الخطوات التالية
Azure Kubernetes Service