مشاركة عبر


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

هام

لا تدعم الوظيفة الإضافية KEDA ل AKS حاليا تعديل طلبات وحدة المعالجة المركزية أو حدودها وقيم Helm الأخرى ل Metrics Server أو Operator. ضع هذا القيد في الاعتبار عند استخدام الوظيفة الإضافية. إذا كانت لديك أي أسئلة، فلا تتردد في الوصول إلى هنا.

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

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

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

إشعار

يقدم الإصدار 2.15+ من KEDA تغييرا فاصلا يزيل دعم هوية الجراب. نوصي بالانتقال إلى هوية حمل العمل للمصادقة الخاصة بك إذا كنت تستخدم هوية pod. في حين أن الوظيفة الإضافية المدارة KEDA لا تشغل حاليا الإصدار 2.15+من KEDA، فإنها ستبدأ في تشغيلها في إصدار معاينة AKS 1.32.

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

بناء الأنظمة

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

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

رسم تخطيطي يوضح بنية KEDA وكيفية توسيع Kubernetes.

تعرف على المزيد حول كيفية عمل 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 ScaledObject مع أداة التحجيم التلقائي للجراب الأفقي (HPA) لتوسيع نطاق حمل العمل نفسه. وهي تتنافس مع بعضها البعض لأن KEDA يستخدم التحجيم التلقائي للجراب الأفقي (HPA) في الخلفية ويؤدي إلى سلوك تحجيم فردي.
    • إذا تم إنشاء HPA أولا، إنشاء KEDA ScaledObject وسيفشل إنشاء KEDA ScaledObject .
    • إذا تم إنشاء KEDA ScaledObject أولا ثم تم إنشاء HPA، فلن يتم حظر إنشاء HPA.

بالنسبة لأسئلة 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 جزئيا من خلال دعم العملاء على أساس أفضل جهد. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:

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