1 Repo
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 ist ein Kubernetes-Workload-Rebalancer und Pod-Eviction-Manager, der darauf ausgelegt ist, die Ressourcenverteilung zu optimieren und die Cluster-Stabilität aufrechtzuerhalten. Er identifiziert und entfernt Pods, die Scheduling-Einschränkungen oder Gesundheitsanforderungen nicht mehr erfüllen, und ermöglicht es dem Cluster, diese auf geeignetere Nodes zu verschieben. Das Projekt bietet spezialisierte Funktionen zum Ausgleich der Node-Ressourcenauslastung, zur Durchsetzung von Topology-Spread-Constraints und zum Entfernen doppelter Pods zur Verbesserung der Verteilung. Es fungiert zudem als Autoscaler-Helfer, indem es Workloads auf weniger Nodes verdichtet, um das Downscaling ungenutzter Infrastruktur zu erleichtern. Das System deckt eine Vielzahl von Wartungsaufgaben ab, einschließlich der Bereinigung fehlerhafter, instabiler oder veralteter Pods sowie der Durchsetzung von Node-Affinity- und Taint-Regeln. Es enthält Sicherheitsmechanismen wie die Validierung der Scheduling-Passgenauigkeit, um sicherzustellen, dass Pods vor der Eviction neu geplant werden können, label-basiertes Filtern zum Schutz kritischer Workloads sowie einen Dry-Run-Modus zur Vorschau von Änderungen. Das Tool kann als kontinuierlicher Hintergrundprozess oder als wiederkehrender Cron-Job bereitgestellt werden und unterstützt Hochverfügbarkeit durch Leader-Election.
Balances CPU and memory utilization by moving pods from overutilized to underutilized nodes.