Hacker News new | ask | show | jobs
by nezirus 2112 days ago
In addition to runc, I'd like to point out an alternative OCI runtime implementation, crun (https://github.com/containers/crun). You can play with both either directly, or through Podman (https://podman.io/)

Useful for cgroups v2 too.

3 comments

There is also a rust implementation that I wrote in my time at Oracle. Unfortunately they no longer maintain it, but there is a fork with some more recent updates: https://github.com/drahnr/railcar
Sounds like you are no longer at Oracle. Was this at Oracle Cloud in Seattle? Can you talk about their Rust adoption?
The really weird thing about this is that latest Fedora (by Red Hat, as is crun) doesn't even support cgroups v2. Or I couldn't figure out how to get it working. I had to disable v2 and go back to v1 and use runc.
Did you modified your bootloader with following parameter: systemd.unified_cgroup_hierarchy=1

In runtime, you should see the following:

mount | grep cgroup cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)

btw, I use Arch (yeah I know, the standard adage)

Pretty sure runc supports cgroups2 these days.

Not sure why I would want a lot of new C on my machine, unless I was pressed for storage or RAM. Which I am not. runc is like 5MB, which is pretty small for a Go binary.

crun is quite a bit faster.

Also `runc` has quite a lot of C in it anyways. The go runtime makes many things very complicated or even impossible.