1 مستودع
Redistributes workloads between overutilized and underutilized nodes to optimize CPU and memory usage.
Distinct from Node Load Balancing: Shortlist focuses on network load balancing or metric collection, not pod eviction for resource balancing
Explore 1 awesome GitHub repository matching devops & infrastructure · Node Resource Balancing. Refine with filters or upvote what's useful.
Descheduler هو مدير لإعادة موازنة أحمال العمل وإخلاء الحاويات (Pods) في Kubernetes، مصمم لتحسين توزيع الموارد والحفاظ على استقرار العنقود. يقوم بتحديد وإزالة الحاويات التي لم تعد تستوفي قيود الجدولة أو متطلبات الصحة، مما يسمح للعنقود بنقلها إلى عقد أكثر ملاءمة. يوفر المشروع قدرات متخصصة لموازنة استخدام موارد العقدة، وفرض قيود انتشار الطوبولوجيا، وإزالة الحاويات المكررة لتحسين التوزيع. كما يعمل كمساعد للتحجيم التلقائي (Autoscaler) من خلال ضغط أحمال العمل على عدد أقل من العقد لتسهيل تقليص البنية التحتية غير المستخدمة. يغطي النظام مجموعة واسعة من مهام الصيانة، بما في ذلك تنظيف الحاويات الفاشلة أو غير المستقرة أو القديمة، وفرض قواعد تقارب العقدة (Node Affinity) وقواعد التلطيخ (Taint). يتضمن آليات أمان مثل التحقق من ملاءمة الجدولة لضمان إمكانية إعادة جدولة الحاويات قبل الإخلاء، والتصفية القائمة على التسميات لحماية أحمال العمل الحرجة، ووضع التشغيل التجريبي (Dry-run) لمعاينة التغييرات. يمكن نشر الأداة كعملية خلفية مستمرة أو وظيفة cron متكررة، وتدعم التوافر العالي من خلال انتخاب القائد.
Evicts pods from overutilized nodes to underutilized ones based on CPU, memory, and pod count thresholds.