Priority Matters: Optimising Kubernetes Clusters Usage with Constraint-Based Pod Packing

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Christensen, Henrik Daniel, Giallorenzo, Saverio, Mauro, Jacopo
Natura: Preprint
Pubblicazione: 2025
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866918196656734208
author Christensen, Henrik Daniel
Giallorenzo, Saverio
Mauro, Jacopo
author_facet Christensen, Henrik Daniel
Giallorenzo, Saverio
Mauro, Jacopo
contents Distributed applications employ Kubernetes for scalable, fault-tolerant deployments over computer clusters, where application components run in groups of containers called pods. The scheduler, at the heart of Kubernetes' architecture, determines the placement of pods given their priority and resource requirements on cluster nodes. To quickly allocate pods, the scheduler uses lightweight heuristics that can lead to suboptimal placements and resource fragmentation, preventing allocations of otherwise deployable pods on the available nodes. We propose the usage of constraint programming to find the optimal allocation of pods satisfying all their priorities and resource requests. Implementation-wise, our solution comes as a plug-in to the default scheduler that operates as a fallback mechanism when some pods cannot be allocated. Using the OR-Tools constraint solver, our experiments on small-to-mid-sized clusters indicate that, within a 1-second scheduling window, our approach places more higher-priority pods than the default scheduler (possibly demonstrating allocation optimality) in over 44\% of realisable allocation scenarios where the default scheduler fails, while certifying that the default scheduler's placement is already optimal in over 19\% of scenarios. With a 10-second window, our approach improves placements in over 73\% and still certifies that the default scheduler's placement is already optimal in over 19\% of scenarios.
format Preprint
id arxiv_https___arxiv_org_abs_2511_08373
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Priority Matters: Optimising Kubernetes Clusters Usage with Constraint-Based Pod Packing
Christensen, Henrik Daniel
Giallorenzo, Saverio
Mauro, Jacopo
Distributed, Parallel, and Cluster Computing
Distributed applications employ Kubernetes for scalable, fault-tolerant deployments over computer clusters, where application components run in groups of containers called pods. The scheduler, at the heart of Kubernetes' architecture, determines the placement of pods given their priority and resource requirements on cluster nodes. To quickly allocate pods, the scheduler uses lightweight heuristics that can lead to suboptimal placements and resource fragmentation, preventing allocations of otherwise deployable pods on the available nodes. We propose the usage of constraint programming to find the optimal allocation of pods satisfying all their priorities and resource requests. Implementation-wise, our solution comes as a plug-in to the default scheduler that operates as a fallback mechanism when some pods cannot be allocated. Using the OR-Tools constraint solver, our experiments on small-to-mid-sized clusters indicate that, within a 1-second scheduling window, our approach places more higher-priority pods than the default scheduler (possibly demonstrating allocation optimality) in over 44\% of realisable allocation scenarios where the default scheduler fails, while certifying that the default scheduler's placement is already optimal in over 19\% of scenarios. With a 10-second window, our approach improves placements in over 73\% and still certifies that the default scheduler's placement is already optimal in over 19\% of scenarios.
title Priority Matters: Optimising Kubernetes Clusters Usage with Constraint-Based Pod Packing
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2511.08373