Francesco Monaco
Enabling Seamless Autoscaling of Service Function Chains in Kubernetes.
Rel. Fulvio Giovanni Ottavio Risso. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2022
|
PDF (Tesi_di_laurea)
- Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives. Download (2MB) | Preview |
Abstract: |
Service Function Chains (SFCs) are typical components of the edge networks of telecommunications operators. They are composed by chained network functions which were originally deployed as physical appliances and subsequently as Virtual Network Functions (VNFs). Recently a new paradigm shift towards Cloud Native Network Functions (CNFs) is taking place. Kubernetes is the reference platform for running cloud native workloads, however it is not natively oriented to network functions. This thesis presents the prototype of a system to integrate SFCs in Kubernetes, with support for seamless autoscaling of chain elements. The proposed solution enables the creation of arbitrary chains starting from a logical description and a set of network functions deployments. In order to dynamically adapt to the horizontal scaling of network functions, a controller that watches and reacts to the events concerning scaling is included in the system. Traffic among network functions replicas is distributed by transparent load balancers implemented using eBPF (Extended Berkeley Packet Filter), whose logic is directly injected in the host network interfaces corresponding to the ends of pod links. Requirements for multiple interfaces in pods are satisfied using Multus CNI and a custom Container Network Interface (CNI) plugin. All this is done in a transparent way towards network functions which perceive as they are always connected to single instances of other network functions. The solution has been validated implementing a possible use case of a SFC and evaluated in terms of reaction times to the scaling of network functions. Furthermore, eBPF-based load balancer performance has been compared to other interconnections mechanisms provided by Linux Kernel. The proposed prototype supports the creation of chains for replicas that are all on the same node, future works may extend this feature to support more complex cross-node scenarios. |
---|---|
Relators: | Fulvio Giovanni Ottavio Risso |
Academic year: | 2021/22 |
Publication type: | Electronic |
Number of Pages: | 92 |
Subjects: | |
Corso di laurea: | Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering) |
Classe di laurea: | New organization > Master science > LM-32 - COMPUTER SYSTEMS ENGINEERING |
Aziende collaboratrici: | UNSPECIFIED |
URI: | http://webthesis.biblio.polito.it/id/eprint/22792 |
Modify record (reserved for operators) |