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
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: |
View Item |