Skip to content

nap-it/multi-cri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-cri

Multi-cri acts as an integration layer between Kubernetes and runtime environments that do not fit a single standard backend model. It exposes a CRI-compatible interface to the kubelet while internally translating requests through adapter logic, allowing one control path to orchestrate different execution mechanisms.

Beyond basic request forwarding, the project includes systemd-oriented container operations, automated image handling workflows, and support for realtime scheduling configuration when services require strict latency behavior. This makes the repository especially relevant for edge and research scenarios where runtime flexibility and deterministic service behavior must coexist.

Citation

Text format:

R. Rosmaninho, D. Raposo, P. Rito and S. Sargento, "Edge-Cloud Continuum Orchestration of Critical Services: A Smart-City Approach," in IEEE Transactions on Services Computing, vol. 18, no. 3, pp. 1381-1396, May-June 2025, doi: 10.1109/TSC.2025.3568251. keywords: {Resource management;Real-time systems;Computer architecture;Monitoring;Training;Quality of service;Network topology;Load management;5G mobile communication;Topology;Edge computing;smart-city;real-time;Kubernetes;MEC;5G},

BibText format:

@ARTICLE{10994362,
  author={Rosmaninho, Rodrigo and Raposo, Duarte and Rito, Pedro and Sargento, Susana},
  journal={IEEE Transactions on Services Computing}, 
  title={Edge-Cloud Continuum Orchestration of Critical Services: A Smart-City Approach}, 
  year={2025},
  volume={18},
  number={3},
  pages={1381-1396},
  keywords={Resource management;Real-time systems;Computer architecture;Monitoring;Training;Quality of service;Network topology;Load management;5G mobile communication;Topology;Edge computing;smart-city;real-time;Kubernetes;MEC;5G},
  doi={10.1109/TSC.2025.3568251}}

Important files

  • services/multicri.service
    • Systemd Unit file for the MultiCRI service itself
  • pkg/cri/adapters/systemd/container.go
    • Conversion of CRI requests into Systemd API calls
  • pkg/cri/adapters/systemd/image.go
    • Conversion of Image pull CRI requests into the execution of Ansible playbooks
  • pkg/cri/runtime/realtime.go
    • Logic for the automatic configuration of realtime scheduling parameters

Basic usage

  1. Build the executable
make build
  1. Run the service
cp services/multicri.service /etc/systemd/system
systemctl enable multicri
systemctl start multicri

Important note: The kubelet must be configured to use the /var/run/multi-cri.sock socket as its container runtime. Also, if the host's underlying container runtime is not containerd, the relevant flag must be altered in the multicri.service unit file.

License

Multi-cri is under LGPL v3 and GPL v3 licenses.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages