Skip to content

Instantly share code, notes, and snippets.

@brandond
Last active June 16, 2022 20:16
Show Gist options
  • Save brandond/c263f612c705c20d209264ac62ffc1f7 to your computer and use it in GitHub Desktop.
Save brandond/c263f612c705c20d209264ac62ffc1f7 to your computer and use it in GitHub Desktop.
RKE2 Dockerfile (SLE Micro for Rancher)
# syntax=docker/dockerfile:1.3-labs
FROM ubuntu:22.04 AS curl
RUN <<EOF
export DEBIAN_FRONTEND=noninteractive
apt-get -y update
apt-get -y install curl ca-certificates
EOF
FROM curl AS install
ARG TAG=
ARG COMMIT=
RUN <<EOF
#!/bin/bash -x
ln -s /bin/true /usr/bin/systemctl
mkdir -p /opt/rke2-agent/images
export INSTALL_RKE2_COMMIT=${COMMIT}
export INSTALL_RKE2_VERSION=${TAG/-rke2/+rke2}
export INSTALL_RKE2_METHOD=tar
export INSTALL_RKE2_TAR_PREFIX=/opt/rke2
export INSTALL_RKE2_AGENT_IMAGES_DIR=/opt/rke2-agent/images
curl -ksL https://get.rke2.io | sh -
EOF
FROM registry.opensuse.org/home/kwk/elemental/images/sle_15_sp3/rancher/rancher-node-image/5.2:latest
VOLUME /var/lib/rancher/rke2
VOLUME /var/lib/kubelet
VOLUME /var/lib/cni
VOLUME /var/log
# use rke2 bundled binaries
ENV PATH=/var/lib/rancher/rke2/bin:$PATH
# for kubectl
ENV KUBECONFIG=/etc/rancher/rke2/rke2.yaml
# for crictl
ENV CONTAINER_RUNTIME_ENDPOINT="unix:///run/k3s/containerd/containerd.sock"
RUN <<EOF
mkdir -p /run/containerd
ln -s /run/k3s/containerd/containerd.sock /run/containerd/containerd.sock
# for go dns bug
mkdir -p /etc
echo 'hosts: files dns' > /etc/nsswitch.conf
# for conformance testing
chmod 1777 /tmp
EOF
ENTRYPOINT ["/usr/local/bin/rke2"]
CMD ["server"]
COPY --from=install /opt/rke2 /usr/local
COPY --from=install /opt/rke2-agent /var/lib/rancher/rke2/agent
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment