No longer need the local registry

This commit is contained in:
2026-03-24 22:26:54 +08:00
parent 81d192d577
commit aad4edd194
7 changed files with 68 additions and 35 deletions

View File

@@ -12,6 +12,7 @@ cp -a "${REGISTRY_DATA_DIR}/." "${ROOTFS}/var/lib/registry/"
mkdir -p "$ROOTFS/var/cache/apk"
mkdir -p "$ROOTFS/var/cache/k8s-images"
mkdir -p "$ROOTFS/build"
mount --bind /var/cache/apk "$ROOTFS/var/cache/apk"
mount --bind /var/cache/k8s-images "$ROOTFS/var/cache/k8s-images"
mount --bind /dev "$ROOTFS/dev"
@@ -22,7 +23,6 @@ mount --bind /run "$ROOTFS/run"
cp /usr/bin/qemu-aarch64-static "$ROOTFS/usr/bin/"
cp /etc/resolv.conf "$ROOTFS/etc/resolv.conf"
cp /build/crio.tar.gz "$ROOTFS/build/"
cp /build/registry.tar.gz "$ROOTFS/build/"
cp -r /build/rootfs/* "$ROOTFS/"
chroot "$ROOTFS" /bin/sh -c "ln -s /var/cache/apk /etc/apk/cache"
@@ -32,6 +32,12 @@ cp "/install-packages.sh" "$ROOTFS/install-packages.sh"
chroot "$ROOTFS" /bin/bash /install-packages.sh || exit 1
rm "$ROOTFS/install-packages.sh"
/merge-rootfs.sh "/build/rootfs-extra" "$ROOTFS"
cp "/configure-system.sh" "$ROOTFS/configure-system.sh"
chroot "$ROOTFS" /bin/bash /configure-system.sh || exit 1
rm "$ROOTFS/configure-system.sh"
umount "$ROOTFS/var/cache/apk"
umount "$ROOTFS/var/cache/k8s-images"
umount "$ROOTFS/dev"
@@ -41,10 +47,8 @@ umount "$ROOTFS/run"
rm -r "$ROOTFS/build"
/merge-rootfs.sh "/build/rootfs-extra" "$ROOTFS"
### Begin making full disk image for the device
echo "=========================== RootFS "$( du -sh "$ROOTFS/" )
echo "##################################################### Packaging RootFS "$( du -sh "$ROOTFS/" )
IMG=output.img
SIZE=1536MB
@@ -78,5 +82,5 @@ umount /mnt/img-root
losetup -d "$LOOP"
echo "GZipping the image"
echo "##################################################### Compressing Image"
gzip "/build/$IMG"

13
alpine/configure-system.sh Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/bash
cd /build
echo "##################################################### Install RC Services"
rc-update add devfs sysinit
rc-update add procfs sysinit
rc-update add sysfs sysinit
rc-update add fancontrol boot
rc-update add loopback boot
rc-update add hostname boot
rc-update add localmount boot
rc-update add crio default

View File

@@ -6,33 +6,16 @@ echo "##################################################### Installing basic pac
apk add alpine-base \
openrc busybox-openrc bash nftables \
lm-sensors lm-sensors-fancontrol lm-sensors-fancontrol-openrc
rc-update add devfs sysinit
rc-update add procfs sysinit
rc-update add sysfs sysinit
rc-update add loopback boot
rc-update add hostname boot
rc-update add localmount boot
rc-update add fancontrol default
echo '[ -x /bin/bash ] && exec /bin/bash -l' >> "/root/.profile"
# We need this to ship k8s components. (coredns, kube-apiserver, etc)
echo "##################################################### Install Local Registry"
mkdir -p /usr/local/bin
apk add skopeo
tar zxf registry.tar.gz
mv registry /usr/local/bin/registry
/usr/local/bin/registry --version
echo "##################################################### Installing CRI-O"
mkdir -p /usr/local/bin
tar zxf crio.tar.gz
cd cri-o
./install
crio --version
crio config 2>&1 > /dev/null
if [ $? -ne 0 ]; then
crio config
@@ -42,14 +25,19 @@ fi
mv /etc/cni/net.d/10-crio-bridge.conflist.disabled \
/etc/cni/net.d/10-crio-bridge.conflist
echo "--------------"
sed -i "s/default_runtime = \"crun\"/\0\ncgroup_manager = \"cgroupfs\"/g" /etc/crio/crio.conf.d/10-crio.conf
grep cgroup_manager /etc/crio/crio.conf.d/10-crio.conf || exit 1
chmod +x /opt/scripts/*
chmod +x /etc/init.d/*
mkdir -p /var/run/crio
mkdir -p /var/lib/containers/storage
mkdir -p /var/lib/cni
mkdir -p /var/log/crio
mkdir -p /etc/cni/net.d
mkdir -p /opt/cni/bin
mkdir -p /run/crun
mkdir -p /run/runc
touch /var/log/crio/crio.log

View File

@@ -0,0 +1,39 @@
#!/sbin/openrc-run
# Copyright 2015-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
description="OCI Kubernetes Container Runtime daemon"
pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
extra_started_commands="reload"
command="/usr/local/bin/${RC_SVCNAME}"
command_args="${command_args}"
command_background="true"
start_stop_daemon_args=" \
--stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
--stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
depend() {
need net
}
checkconfig() {
checkpath --directory --owner root:root --mode 0775 \
/var/log/${RC_SVCNAME}
checkpath --file --owner root:root --mode 0644 \
/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log
checkpath --directory --owner root:root --mode 0750 \
/var/lib/crio
}
start() {
checkconfig
default_start
}
reload() {
ebegin "Reloading ${RC_SVCNAME}"
start-stop-daemon --signal HUP --pidfile "${pidfile}"
eend $?
}