مِخبارMIKHBAR
التطبيقات والبرامج

إطلاق الإصدار 0.15.0 من Actions Runner Controller لتعزيز استقرار Kubernetes

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

إطلاق الإصدار 0.15.0 من Actions Runner Controller لتعزيز استقرار Kubernetes

تحديثات جوهرية في إدارة المنفذين

أعلنت شركة GitHub عن إصدار الإصدار 0.15.0 من أداة Actions Runner Controller، وهو تحديث يركز بشكل أساسي على تعزيز الموثوقية وقابلية التوسع ومراقبة مجموعات المنفذين (Runner Scale Sets). يهدف هذا التحديث إلى تمكين المطورين من تشغيل أساطيل أكبر من المنفذين مع تقليل الانقطاعات التي قد تحدث أثناء عمليات الترقية أو تحديثات واجهة Kubernetes API. تأتي هذه التحسينات استجابةً لاحتياجات المؤسسات التي تعتمد على بيئات Kubernetes واسعة النطاق لتنفيذ عملياتها التلقائية. ويمكن الرجوع إلى GitHub Changelog للاطلاع على التفاصيل الأصلية للمصدر.

تقليل الانقطاعات أثناء الترقية

من أبرز الميزات الجديدة في هذا الإصدار هو تغيير آلية ترقية إصدارات التصحيح (Patch version upgrades). بدلاً من إعادة إنشاء الموارد، يقوم المتحكم الآن بتحديث الموارد في مكانها (in-place). هذا التغيير يقلل بشكل كبير من الانقطاعات بين مجموعات المنفذين التلقائية (Autoscaling runner sets) ومجموعات المنفذين المؤقتة (Ephemeral runner sets). كما أصبحت سلوكيات إيقاف تشغيل المتحكم أكثر موثوقية، حيث أصبح من الممكن ضبط فترة سماح الإنهاء (terminationGracePeriodSeconds) لتتوافق مع مهلة الإيقاف السليم لإدارة المتحكم، مما يضمن معالجة الطلبات الجارية بشكل صحيح قبل الإغلاق. ويمكن الرجوع إلى Back to changelog للاطلاع على التفاصيل الأصلية للمصدر.

تحسينات في كفاءة واجهة Kubernetes API

ركّز فريق التطوير على تحسين كفاءة التفاعل مع واجهة Kubernetes API لتقليل الحمل على العنقود. أصبحت تحديثات المتحكم تستخدم طلبات التصحيح (Patch requests) بدلاً من طلبات التحديث الكاملة، مما يقلل من حجم البيانات المرسلة. بالإضافة إلى ذلك، تم نقل تجميع حالة المنفذين (Runner status aggregation) إلى مقاييس (Metrics) لمجموعات EphemeralRunnerSet وAutoscalingRunnerSet، مما يقلل من عدد طلبات التصحيح المطلوبة لتحديث الحالة. هذه التغييرات تساهم في تحسين الأداء العام وتقليل استهلاك الموارد في العناقيد الكبيرة.

إدارة التوازي ومعدل الطلبات

أضاف الإصدار الجديد خيارات متقدمة لضبط أداء المتحكم. أصبح من الممكن الآن ضبط حدود معدل عميل Kubernetes الخاص بالمتحكم (Listener Kubernetes client) من خلال إعدادات QPS وburst. كما يمكن ضبط التوازي (Concurrency) للمتحكم على مستوى عام أو لكل متحكم على حدة باستخدام أعلام max-concurrent-reconciles. كما قام المتحكم بترشيح الأحداث الواردة، مما يؤدي إلى إجراء عدد أقل من عمليات المصالحة (reconciliations) مقارنة بالإصدارات السابقة، مما يحسن من استجابة النظام للأحداث الفعلية المهمة فقط.

تحسينات في إدارة المنفذين المؤقتين

شهدت إدارة المنفذين المؤقتين (Ephemeral runners) تحسينات في سرعة الحذف. يتم الآن تخطي الفحص الخادمي لإزالة المنفذ عندما ينتهي حاوية المنفذ (runner pod) بنجاح، مما يسرّع من عملية تحرير الموارد. كما أصبحت مجموعات المنفذين قابلة لإعادة التسجيل (reregistered) إذا لم تعد مجموعة المنفذين المسجلة موجودة في خدمة Actions، مما يزيد من مرونة النظام في التعامل مع حالات عدم الاتساق المحتملة بين المتحكم وخدمة GitHub Actions.

الاستخدام الأمثل للعناقيد الكبيرة

تكون هذه التغييرات مفيدة بشكل خاص للعناقيد التي تحتوي على العديد من مجموعات المنفذين، حيث تلعب من خلال المتحكم، والإيقاف السليم، والمقاييس الدقيقة دوراً حاسماً في العمليات اليومية. توفر هذه التحديثات أدوات أفضل للمهندسين لضمان استقرار بيئات التنفيذ الخاصة بهم. يمكن للمستخدمين الاطلاع على التفاصيل التقنية الكاملة وإرشادات الإعداد في وثائق Actions Runner Controller الرسمية، التي توفر أدلة مفصلة حول كيفية الاستفادة من هذه الميزات الجديدة في بيئات الإنتاج.

المصادر

تابع التسلسل الزمني

تغطية الكيانات المرتبطة