diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..58d9a6a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM registry.fedoraproject.org/kubernetes-node:25 +MAINTAINER "Jason Brooks" + +ENV NAME=kubernetes-kubelet VERSION=0.1 RELEASE=1 ARCH=x86_64 +LABEL BZComponent="$NAME" \ + Name="$FGC/$NAME" \ + Version="$VERSION" \ + Release="$RELEASE.$DISTTAG" \ + Architecture="$ARCH" + +# Containerized kubelet requires nsenter +RUN dnf install -y util-linux ethtool && dnf clean all + +LABEL RUN=/usr/bin/docker run -d --privileged --net=host --pid=host -v /:/rootfs:ro -v /sys:/sys:rw -v /var/run:/var/run:rw -v /run:/run:rw -v /var/lib/docker:/var/lib/docker:rw -v /var/lib/kubelet:/var/lib/kubelet:slave -v /var/log/containers:/var/log/containers:rw + +COPY launch.sh /usr/bin/kubelet-docker.sh + +ENTRYPOINT ["/usr/bin/kubelet-docker.sh"] diff --git a/launch.sh b/launch.sh new file mode 100644 index 0000000..1d768ef --- /dev/null +++ b/launch.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +source /etc/kubernetes/kubelet +source /etc/kubernetes/config + +ARGS=$(echo "$@ $KUBE_LOGTOSTDERR $KUBE_LOG_LEVEL $KUBELET_API_SERVER $KUBELET_ADDRESS $KUBELET_PORT $KUBELET_HOSTNAME $KUBE_ALLOW_PRIV $KUBELET_ARGS" | xargs -n1 | sort -u -t = -k 1,1 | xargs) + +exec /usr/bin/kubelet $ARGS --containerized