This is the repository for the Google Summer of Code project P4-Enabled Container Migration in Kubernetes.
For more information about the project, please refer to the final report.
The versions mentioned above are the ones used during development. Newer versions may work, but have not been tested.
We have provided scripts to install CRIU (with crit), the P4 compiler, PI, and Podman. The scripts have been tested on Ubuntu 22.04.4 and 24.04 and are not guaranteed to work on all machines. If you encounter any issues, please refer to the official documentation of the respective projects.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
There are three examples in the examples
directory:
- process_migration: Process migration demo using network namespaces
- host_containers: Container migration demo using containerized hosts, but not switch
- switch_container: Container migration demo with all hosts and the switch containerized
- redis: Redis container migration demo using the Redis in-memory database
- container_migration_in_kubernetes: Container migration demo in Kubernetes
Simply cd
into the desired example directory and follow the instructions in the README.