_OCI_STARTPIPE

conmon会从这个FD读取数据。当读取到数据后,就任务conmon进程已经放到正确的cgroup里了,可以启动容器了。

_OCI_SYNCPIPE


conmon primarily uses _OCI_SYNCPIPE pipe fd to communicate podman:passing container pid after creating a container process, and an exit status and an exit message after the container process terminates.

相关日志:

  1. DEBU[0000] running conmon: /usr/bin/conmon args="[--api-version 1 -c d0ccd5db4720a744d914c64e0d990021375c79b05516670a926980d854879314 -u d0ccd5db4720a744d914c64e0d990021375c79b05516670a926980d854879314 -r /usr/bin/runc -b /var/lib/containers/storage/overlay-containers/d0ccd5db4720a744d914c64e0d990021375c79b05516670a926980d854879314/userdata -p /run/containers/storage/overlay-containers/d0ccd5db4720a744d914c64e0d990021375c79b05516670a926980d854879314/userdata/pidfile -n lucid_rhodes --exit-dir /run/libpod/exits --full-attach -l k8s-file:/var/lib/containers/storage/overlay-containers/d0ccd5db4720a744d914c64e0d990021375c79b05516670a926980d854879314/userdata/ctr.log --log-level debug --syslog -t --conmon-pidfile /run/containers/storage/overlay-containers/d0ccd5db4720a744d914c64e0d990021375c79b05516670a926980d854879314/userdata/conmon.pid --exit-command /usr/bin/podman --exit-command-arg --root --exit-command-arg /var/lib/containers/storage --exit-command-arg --runroot --exit-command-arg /run/containers/storage --exit-command-arg --log-level --exit-command-arg debug --exit-command-arg --cgroup-manager --exit-command-arg cgroupfs --exit-command-arg --tmpdir --exit-command-arg /run/libpod --exit-command-arg --cni-config-dir --exit-command-arg /etc/cni/net.d/ --exit-command-arg --runtime --exit-command-arg runc --exit-command-arg --storage-driver --exit-command-arg overlay --exit-command-arg --storage-opt --exit-command-arg overlay.mountopt=nodev --exit-command-arg --events-backend --exit-command-arg none --exit-command-arg --syslog --exit-command-arg container --exit-command-arg cleanup --exit-command-arg --rm --exit-command-arg d0ccd5db4720a744d914c64e0d990021375c79b05516670a926980d854879314]"
  2. WARN[0000] Failed to add conmon to cgroupfs sandbox cgroup: write /sys/fs/cgroup/cpu/libpod_parent/conmon/tasks: write /sys/fs/cgroup/cpu/libpod_parent/conmon/tasks: no space left on device
  3. DEBU[0000] Received: 2115
  4. INFO[0000] Got Conmon PID as 2103