[arch-general] cgroups_v2 and rootless podman
samirnassar at posteo.de
samirnassar at posteo.de
Fri Mar 19 10:40:56 UTC 2021
Hello,
I am trying to make rootless podman work based off of:
https://wiki.archlinux.org/index.php/Podman#Rootless_Podman and I am
wondering if I am missing something or if there might be old information
in the wiki pages: https://wiki.archlinux.org/index.php/Podman and
https://wiki.archlinux.org/index.php/Cgroups
https://wiki.archlinux.org/index.php/Podman#Rootless_Podman says:
Rootless Podman requires using cgroups v2. See cgroups on how to check
whether v1 (default) or v2 is used and how to switch to cgroups v2. So I
use the instructions at:
https://wiki.archlinux.org/index.php/Cgroups#Switching_to_cgroups_v2
So here is what I did:
from /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0 nomodeseti
systemd.unified_cgroup_hierarchy=1"
$ ls -al /sys/fs/cgroup
total 0
dr-xr-xr-x 11 root root 0 Mar 19 10:56 .
drwxr-xr-x 7 root root 0 Mar 19 10:56 ..
-r--r--r-- 1 root root 0 Mar 19 10:56 cgroup.controllers
-rw-r--r-- 1 root root 0 Mar 19 10:57 cgroup.max.depth
-rw-r--r-- 1 root root 0 Mar 19 10:57 cgroup.max.descendants
-rw-r--r-- 1 root root 0 Mar 19 10:56 cgroup.procs
-r--r--r-- 1 root root 0 Mar 19 10:57 cgroup.stat
-rw-r--r-- 1 root root 0 Mar 19 10:56 cgroup.subtree_control
-rw-r--r-- 1 root root 0 Mar 19 10:57 cgroup.threads
-rw-r--r-- 1 root root 0 Mar 19 10:57 cpu.pressure
-r--r--r-- 1 root root 0 Mar 19 10:57 cpuset.cpus.effective
-r--r--r-- 1 root root 0 Mar 19 10:57 cpuset.mems.effective
...
I also set up /etc/subuid and /etc/subgid :
$ cat /etc/subuid
administrator:100000:65536
$ cat /etc/subgid
administrator:100000:65536
Trying to get podman to work :
$ podman info
Error: cannot setup namespace using newuidmap: exit status 1
$ podman system migrate
Error: cannot setup namespace using newuidmap: exit status 1
When I remove /etc/subuid and /etc/subgid , I get:
$ podman info --debug
ERRO[0000] cannot find UID/GID for user administrator: open /etc/subuid:
no such file or directory - check rootless mode in man pages.
WARN[0000] using rootless single mapping into the namespace. This might
break some images. Check /etc/subuid and /etc/subgid for adding sub*ids
...
Then I created empty /etc/subuid and /etc/subgid , and I got:
$ podman info --debug
host:
arch: amd64
buildahVersion: 1.19.4
cgroupManager: systemd
cgroupVersion: v2
conmon:
package: /usr/bin/conmon is owned by conmon 1:2.0.27-1
path: /usr/bin/conmon
version: 'conmon version 2.0.27, commit:
65fad4bfcb250df0435ea668017e643e7f462155'
cpus: 1
distribution:
distribution: arch
version: unknown
eventLogger: journald
hostname: archlinux-minimal
idMappings:
gidmap:
- container_id: 0
host_id: 60338
size: 1
uidmap:
- container_id: 0
host_id: 60338
size: 1
kernel: 5.11.7-arch1-1
linkmode: dynamic
memFree: 1745731584
memTotal: 2026967040
ociRuntime:
name: crun
package: /usr/bin/crun is owned by crun 0.18-1
path: /usr/bin/crun
version: |-
crun version 0.18
commit: 808420efe3dc2b44d6db9f1a3fac8361dde42a95
spec: 1.0.0
+SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL
os: linux
remoteSocket:
path: /run/user/60338/podman/podman.sock
security:
apparmorEnabled: false
capabilities:
CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
rootless: true
seccompEnabled: true
selinuxEnabled: false
slirp4netns:
executable: /usr/bin/slirp4netns
package: /usr/bin/slirp4netns is owned by slirp4netns 1.1.9-1
version: |-
slirp4netns version 1.1.9
commit: 4e37ea557562e0d7a64dc636eff156f64927335e
libslirp: 4.4.0
SLIRP_CONFIG_VERSION_MAX: 3
libseccomp: 2.5.1
swapFree: 0
swapTotal: 0
uptime: 37m 10.76s
registries: {}
store:
configFile: /home/administrator/.config/containers/storage.conf
containerStore:
number: 5
paused: 0
running: 0
stopped: 5
graphDriverName: overlay
graphOptions:
overlay.mount_program:
Executable: /usr/bin/fuse-overlayfs
Package: /usr/bin/fuse-overlayfs is owned by fuse-overlayfs
1.4.0-1
Version: |-
fusermount3 version: 3.10.2
fuse-overlayfs: version 1.4
FUSE library version 3.10.2
using FUSE kernel interface version 7.31
graphRoot: /home/administrator/.local/share/containers/storage
graphStatus:
Backing Filesystem: btrfs
Native Overlay Diff: "false"
Supports d_type: "true"
Using metacopy: "false"
imageStore:
number: 1
runRoot: /run/user/60338/containers
volumePath:
/home/administrator/.local/share/containers/storage/volumes
version:
APIVersion: 3.0.0
Built: 1613921386
BuiltTime: Sun Feb 21 16:29:46 2021
GitCommit: c640670e85c4aaaff92741691d6a854a90229d8d
GoVersion: go1.16
OsArch: linux/amd64
Version: 3.0.1
$ pacman -Qs podman
local/podman 3.0.1-2
Tool and library for running OCI-based containers in pods
$ pacman -Qs crun
local/crun 0.18-1
A fast and lightweight fully featured OCI runtime and C library for
running containers
$ uname -a
Linux archlinux-minimal 5.11.7-arch1-1 #1 SMP PREEMPT Wed, 17 Mar 2021
16:59:58 +0000 x86_64 GNU/Linux
If you have any insights or ideas I would be happy if you shared them.
Regards,
Samir Nassar
More information about the arch-general
mailing list