تحجيم تلقائي مبسط للتطبيق باستخدام المكون الإضافي Kubernetes Event-driven Autoscaling (KEDA)

يعد التحجيم التلقائي المستند إلى حدث Kubernetes (KEDA) مكونا أحادي الغرض وخفيف الوزن يسعى جاهدا لجعل التحجيم التلقائي للتطبيق بسيطا وهو مشروع CNCF الدراسات العليا.

إنه يطبق القياس التلقائي المستند إلى الأحداث لتوسيع نطاق تطبيقك لتلبية الطلب بطريقة مستدامة وفعالة من ناحية التكلفة مع توسعة النطاق إلى الصفر.

تجعل الوظيفة الإضافية KEDA الأمر أسهل من خلال نشر تثبيت KEDA مدار، ما يوفر لك كتالوج غنيا من متدرجات Azure KEDA التي يمكنك توسيع نطاق تطبيقاتك بها على نظام مجموعة Azure Kubernetes Services (AKS).

البنية

يقدم KEDA مكونين رئيسيين:

  • يسمح عامل تشغيل KEDA للمستخدمين النهائيين بتغير حجم أحمال العمل للداخل/ الخارج من 0 إلى عدد N من المثيلات مع دعم عمليات نشر Kubernetes أو الوظائف أو StatefulSets أو أي مورد مخصص يحدد مصدر فرعي /scale.
  • يعرض خادم القياسات قياسات خارجية لـ HPA في Kubernetes لأغراض التحجيم التلقائي مثل الرسائل في موضوع Kafka أو عدد أحداث بمركز أحداث Azure. نظرًا لقيود المصدر، يجب أن يكون KEDA هو المحول المتري الوحيد المثبت.

Diagram that shows the architecture of K E D A and how it extends Kubernetes instead of re-inventing the wheel.

تعرف على المزيد حول كيفية عمل 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 حتى يمكن حقن متغيرات البيئة المناسبة:

  1. أعد تشغيل pods عن طريق تشغيل kubectl rollout restart deployment keda-operator -n kube-system.

  2. الحصول على وحدات جراب عامل تشغيل KEDA باستخدام kubectl get pod -n kube-system والعثور على pods التي تبدأ ب keda-operator.

  3. تحقق من الإدخال الناجح لمتغيرات البيئة عن طريق تشغيل kubectl describe pod <keda-operator-pod> -n kube-system. ضمن Environment، يجب أن تشاهد قيم و AZURE_TENANT_IDAZURE_FEDERATED_TOKEN_FILEو.AZURE_AUTHORITY_HOST

إصدارات Kubernetes و KEDA المدعومة

يحدد إصدار نظام المجموعة Kubernetes إصدار KEDA الذي سيتم تثبيته على نظام مجموعة AKS. لمعرفة إصدار KEDA الذي يعين إلى كل إصدار AKS، راجع عمود الوظائف الإضافية المدارة AKS لجدول إصدار مكون Kubernetes.

بالنسبة لإصدارات GA Kubernetes، تقدم AKS دعما كاملا للإصدار الثانوي المقابل ل KEDA في الجدول. تتم تغطية إصدارات معاينة Kubernetes وأحدث تصحيح KEDA جزئيا من خلال دعم العملاء على أساس أفضل جهد. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:

الخطوات التالية