polito.it
Politecnico di Torino (logo)

Designing an eBPF-based Disaggregated Network Provider for Kubernetes

Leonardo Di Giovanna

Designing an eBPF-based Disaggregated Network Provider for Kubernetes.

Rel. Fulvio Giovanni Ottavio Risso. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2022

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (2MB) | Preview
Abstract:

Designing an eBPF-based Disaggregated Network Provider for Kubernetes Container orchestration plays an important role in the modern software development. Container orchestration platforms provide a base abstraction layer for simplifying the development, the deployment and the maintenance of the applications. Nowadays, the most famous and popular open-source container orchestrator is Kubernetes, a solution developed by Google. Container orchestrators are developed having in mind that handling the networking is a crucial aspect, since intrinsically distributed application components must be able to communicate to each other regardless of whether they are hosted. The orchestrator component in charge of handling all the networking stuff can be called network provider. Modern networking is increasingly implemented in software on general-purpose hardware: this allows to have much more flexibility and, at the same time, to reduce infrastructural costs. Components that implement in software the same behaviour of the traditional network appliances are called virtual network functions (VNFs) and they have to be implemented having in mind the efficiency and the performance effectiveness. In order to reach these goals, different technologies could be used: eBPF (Extended Berkeley Packet Filter), that provides a way for executing sandboxed programs directly in the Linux kernel, is one of the most suitable one. By exploiting the above considerations, this thesis work has as its purpose that of designing and validating an eBPF-based disaggregated network provider for Kubernetes. A base virtual network topology architecture, composed mainly of standard virtual network functions (like routers, bridges and NATs), is used as base for investigating a more performant and scalable solution. The disaggregated nature of the starting architecture is chosen and taken as primary objective since it increases the observability, the scalability and the extensibility of the solution. The development, the deployment and the interconnection of these eBPF services is made easier by leveraving Polycube, a technology built at Politecnico di Torino. A communication layer, for allowing the communication between the network abstractions provided by Kubernetes (like Services) and the network infrastructure, is developed: in other words, a Kubernetes operator, capable of being receptive to the cluster changes and capable of reflecting them on the network infrastructure, is designed and implemented. Different performance tests are performed in order to investigate the validity of the designed solutions and to understand its limitations for future improvements.

Relatori: Fulvio Giovanni Ottavio Risso
Anno accademico: 2021/22
Tipo di pubblicazione: Elettronica
Numero di pagine: 104
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Aziende collaboratrici: NON SPECIFICATO
URI: http://webthesis.biblio.polito.it/id/eprint/22615
Modifica (riservato agli operatori) Modifica (riservato agli operatori)