TU Darmstadt / ULB / TUprints

Extending the Kubernetes scheduler for network resource awareness

Kosiewski, Thomas (2024)
Extending the Kubernetes scheduler for network resource awareness.
Technische Universität Darmstadt
doi: 10.26083/tuprints-00026364
Bachelor Thesis, Primary publication, Publisher's Version

[img] Text
thesis.pdf
Copyright Information: CC BY 4.0 International - Creative Commons, Attribution.

Download (1MB)
Item Type: Bachelor Thesis
Type of entry: Primary publication
Title: Extending the Kubernetes scheduler for network resource awareness
Language: English
Referees: Wolf, Prof. Dr. Felix ; Ahmad, Dr. Aasem
Date: 22 February 2024
Place of Publication: Darmstadt
Collation: 53 Seiten
DOI: 10.26083/tuprints-00026364
Corresponding Links:
Abstract:

Kubernetes (K8s) has emerged as the de facto standard for distributed container workload orchestration in cloud and on-premises environments. Due to its open-source nature, strong separation of duty, and well-defined interfaces, Kubernetes creates abstraction layers between cluster operators, compute & storage providers, networking providers, and workload authors. Developers can deploy their applications without needing thorough experience in the abovementioned fields to deploy and scale their applications. Instead, they can collaborate by utilizing existing resources and configurations and have their workloads run and distributed according to the specifications in the workload definitions.

In the current Kubernetes environment, scheduling decisions are based on CPU and memory requirements, neglecting other crucial resources such as network bandwidth. As the adoption of networking-intensive applications and workloads progresses, the need for network-aware scheduling becomes more pressing, as issues such as network congestion and overall system stability can degrade over time.

This thesis aims to improve the scheduler and ecosystem by incorporating plug-andplay extensions to the current scheduler and proposing a new scheduler that utilizes a different scheduling approach and incorporates algorithms from resource constraint project scheduling to find optimizations for the Kubernetes scheduling problems.

Experiments indicate that our solution outperforms the existing Kubernetes scheduler in solution quality and correctness, performing qualitatively higher resource distribution and guarantees. By deploying representative samples of network-demanding workloads in simulations, the extended scheduler ensured resource requirements for pods, while the default Kubernetes scheduler failed to do so. This improvement introduces a negligible computing cost to the scheduler. In addition, it avoids network congestion, idle cpu time, and overall higher resource usage on the machines, increasing network throughput and reducing application lags, avoiding slowdowns of two to three times the necessary time if networking resources were met.

Uncontrolled Keywords: bin packing, distributed algorithms, Kubernetes, resource constrained project scheduling problem, scheduler, Quality of Service
Status: Publisher's Version
URN: urn:nbn:de:tuda-tuprints-263646
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science > Parallel Programming
Date Deposited: 22 Feb 2024 13:04
Last Modified: 23 Feb 2024 07:05
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/26364
PPN: 515739774
Export:
Actions (login required)
View Item View Item