1 repository
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 este un rebalansator de workload-uri și manager de evacuare a pod-urilor pentru Kubernetes, conceput pentru a optimiza distribuția resurselor și a menține stabilitatea clusterului. Acesta identifică și elimină pod-urile care nu mai îndeplinesc constrângerile de programare sau cerințele de sănătate, permițând clusterului să le relocheze pe noduri mai potrivite. Proiectul oferă capabilități specializate pentru echilibrarea utilizării resurselor nodurilor, impunerea constrângerilor de răspândire a topologiei și eliminarea pod-urilor duplicate pentru a îmbunătăți distribuția. De asemenea, funcționează ca un ajutor pentru autoscaler prin compactarea workload-urilor pe mai puține noduri, facilitând reducerea infrastructurii neutilizate. Sistemul acoperă o gamă largă de sarcini de mentenanță, inclusiv curățarea pod-urilor eșuate, instabile sau vechi și impunerea regulilor de afinitate și taint pentru noduri. Include mecanisme de siguranță precum validarea compatibilității de programare pentru a asigura că pod-urile pot fi reprogramate înainte de evacuare, filtrare bazată pe label-uri pentru a proteja workload-urile critice și un mod dry-run pentru previzualizarea modificărilor. Utilitarul poate fi implementat ca un proces continuu în fundal sau ca un cron job recurent și suportă înaltă disponibilitate prin alegerea liderului (leader election).
Evicts pods from overutilized nodes to underutilized ones based on CPU, memory, and pod count thresholds.