Skip to content
This repository was archived by the owner on Oct 16, 2020. It is now read-only.
This repository was archived by the owner on Oct 16, 2020. It is now read-only.

udevadm is required for hyperkube #2385

@maxkondr

Description

@maxkondr

Issue Report

Question

Container Linux Version

$ cat /etc/os-release
NAME="Container Linux by CoreOS"
ID=coreos
VERSION=1632.3.0
VERSION_ID=1632.3.0
BUILD_ID=2018-02-14-0338
PRETTY_NAME="Container Linux by CoreOS 1632.3.0 (Ladybug)"
ANSI_COLOR="38;5;75"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://issues.coreos.com"
COREOS_BOARD="amd64-usr"

quay.io/coreos/hyperkube:v1.9.2_coreos.0
cloud-provider: OpenStack

To be able to provision volumes on cloud-provider it is needed to mount and format disk to particular VM and pod. The kubelet is run using hyperkube and it required udevadm tool to perform mentioned task.

Hyperkube itself doesn't have udevadm included so I have to mount it manually, but it leads to some additional shared libs dependencies. So that my current variant for mounting udevadm into hypekube image is following:

...
--volume iscsiadm,kind=host,source=/usr/sbin/iscsiadm \
--mount volume=iscsiadm,target=/usr/sbin/iscsiadm \
--volume udevadm,kind=host,source=/bin/udevadm \
--mount volume=udevadm,target=/usr/sbin/udevadm \
--volume systemd-libs,kind=host,source=/usr/lib/systemd/libsystemd-shared-235.so \
--mount volume=systemd-libs,target=/usr/lib/systemd/libsystemd-shared-235.so \
--volume cryptsetup-libs,kind=host,source=/lib64/libcryptsetup.so.4 \
--mount volume=cryptsetup-libs,target=/usr/lib/x86_64-linux-gnu/libcryptsetup.so.4 \
--volume seccomp-libs,kind=host,source=/lib64/libseccomp.so.2 \
--mount volume=seccomp-libs,target=/usr/lib/x86_64-linux-gnu/libseccomp.so.2 \
--volume devmapper-libs,kind=host,source=/lib64/libdevmapper.so.1.02 \
--mount volume=devmapper-libs,target=/usr/lib/x86_64-linux-gnu/libdevmapper.so.1.02 \
...

Is there any elegant way to add additional bins/apps to the hyperkube instead of mounting a lot of libs?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions