1 repositorio
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 es un reequilibrador de cargas de trabajo y gestor de desalojo de pods para Kubernetes, diseñado para optimizar la distribución de recursos y mantener la estabilidad del cluster. Identifica y elimina pods que ya no cumplen con las restricciones de programación o los requisitos de salud, permitiendo que el cluster los reubique en nodos más adecuados. El proyecto proporciona capacidades especializadas para equilibrar la utilización de recursos de los nodos, aplicar restricciones de dispersión de topología y eliminar pods duplicados para mejorar la distribución. También funciona como asistente de autoscaling al compactar cargas de trabajo en menos nodos para facilitar la reducción de infraestructura no utilizada. El sistema cubre una amplia gama de tareas de mantenimiento, incluyendo la limpieza de pods fallidos, inestables o antiguos, y la aplicación de reglas de afinidad y taints de nodos. Incluye mecanismos de seguridad como la validación de encaje en la programación para asegurar que los pods puedan ser reprogramados antes del desalojo, filtrado basado en etiquetas para proteger cargas de trabajo críticas y un modo de prueba (dry-run) para previsualizar cambios. La utilidad puede desplegarse como un proceso en segundo plano continuo o como un cron job recurrente y admite alta disponibilidad mediante elección de líder.
Evicts pods from overutilized nodes to underutilized ones based on CPU, memory, and pod count thresholds.