logo SBA

ETD

Archivio digitale delle tesi discusse presso l’Università di Pisa

Tesi etd-01232024-151231


Tipo di tesi
Tesi di laurea magistrale
Autore
POGGIANI, LEONARDO
URN
etd-01232024-151231
Titolo
Live migration of Kubernetes multi-container pods across multi-cluster deployments
Dipartimento
INGEGNERIA DELL'INFORMAZIONE
Corso di studi
COMPUTER ENGINEERING
Relatori
relatore Prof. Mingozzi, Enzo
relatore Prof. Virdis, Antonio
relatore Ing. Puliafito, Carlo
Parole chiave
  • Checkpoint
  • Kubernetes
  • Liqo
  • Migration
  • Multi-cluster
  • Restore
Data inizio appello
13/02/2024
Consultabilità
Non consultabile
Data di rilascio
13/02/2027
Riassunto
Kubernetes is an extremely popular platform for container orchestration. Its ability to provide a consistent interface across multiple public cloud providers, private clouds and even bare metal deployments has been one of the main reasons for its wide adoption.
Relying solely on Kubernetes for deployment can create the need to deploy applications that were not originally designed for cloud environments. Kubernetes treats resources, especially pods, as ephemeral, so deploying multiple application instances is necessary to ensure high availability. When a node requires maintenance, the pods are abruptly terminated and restarted elsewhere. This approach results in downtime for applications that do not have built-in high availability support. In contrast, virtual machines have solved this problem through live migration, which allows seamless transfer of virtual instances to another host without downtime.
Leading container runtime systems such as Docker support checkpointing and recovery mechanisms that could potentially enable (live) migration of containers and thus Kubernetes.
The increasing use of edge computing offers new possibilities for migration. For example, workloads could be migrated between different edge clusters to minimize latency for mobile clients in 5G networks. Enabling pod migration would improve the suitability of Kubernetes for edge deployments.
This thesis is about improving pod migration in Kubernetes leveraging multi-clusters deployments. With the help of the open-source Kubernetes plugin like Liqo, several Kubernetes clusters can operate in unison as a single, virtualized cluster by sharing resources across them. The checkpointing of the source pod and the transmission of the checkpointed image to the destination cluster are carried out by a migration controller. A new pod, with an image built from the checkpointed one, is constructed after the previous pod has been deleted.
A prototype that had already been used in another piece of work was enhanced in this thesis. The proposed technique, which makes use of parallelized checkpoint and restore operations, is suitable for moving multi-container pods reducing the expected downtime, according to benchmarking data.
File