1 dépôt
Utilities that balance resource consumption across cluster nodes by relocating workloads.
Distinguishing note: Candidates cover debugging, metrics, and provisioning, not active resource balancing.
Explore 1 awesome GitHub repository matching devops & infrastructure · Node Utilization Optimizers. Refine with filters or upvote what's useful.
Descheduler est un rééquilibreur de charge de travail et gestionnaire d'éviction de pods pour Kubernetes, conçu pour optimiser la distribution des ressources et maintenir la stabilité du cluster. Il identifie et supprime les pods qui ne satisfont plus les contraintes de planification ou les exigences de santé, permettant au cluster de les relocaliser sur des nœuds plus appropriés. Le projet fournit des capacités spécialisées pour équilibrer l'utilisation des ressources des nœuds, appliquer des contraintes de répartition topologique et supprimer les pods en double pour améliorer la distribution. Il fonctionne également comme une aide à l'autoscaling en compactant les charges de travail sur moins de nœuds pour faciliter la réduction de l'infrastructure inutilisée. Le système couvre un large éventail de tâches de maintenance, incluant le nettoyage des pods échoués, instables ou vieillissants, et l'application des règles d'affinité et de taints des nœuds. Il inclut des mécanismes de sécurité tels que la validation de la compatibilité de planification pour garantir que les pods peuvent être replanifiés avant l'éviction, le filtrage basé sur les labels pour protéger les charges de travail critiques, et un mode "dry-run" pour prévisualiser les changements. L'utilitaire peut être déployé en tant que processus d'arrière-plan continu ou tâche cron récurrente, et supporte la haute disponibilité via l'élection de leader.
Balances CPU and memory utilization by moving pods from overutilized to underutilized nodes.