Close

Presentation

Charliecloud as a Kubernetes Container Runtime
DescriptionKubernetes scales and automates container orchestration, deployment, and management across environments, supporting the increasing demand for novel HPC workflows, especially in AI. Kubernetes' declarative approach allows users to schedule, scale, and monitor containers while supporting multiple container runtimes. Charliecloud is a container runtime that enhances HPC workloads by allowing fully unprivileged, lightweight container management. However, Kubernetes is only compatible with container runtimes that implement the Container Runtime Interface (CRI). To address this, we developed a prototype CRI-compatible server for Charliecloud, allowing Kubernetes to manage pods and create, start, and track Charliecloud containers. Despite Kubernetes expecting certain features that Charliecloud does not use, such as network namespaces, we show that the two systems can still communicate effectively. Our implementation requires minimal modifications to Charliecloud without changes to Kubernetes. This demonstrates that Kubernetes and Charliecloud are compatible tools, advancing workflows that require large compute power. LA-UR-24-28252