Little helper to run CNCF's k3s in Docker
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
k3d/pkg/types/fixes/assets/k3d-entrypoint.sh

40 lines
904 B

#!/bin/sh
set -o errexit
set -o nounset
LOGFILE="/var/log/k3d-entrypoints_$(date "+%y%m%d%H%M%S").log"
touch "$LOGFILE"
echo "[$(date -Iseconds)] Running k3d entrypoints..." >> "$LOGFILE"
for entrypoint in /bin/k3d-entrypoint-*.sh ; do
echo "[$(date -Iseconds)] Running $entrypoint" >> "$LOGFILE"
"$entrypoint" >> "$LOGFILE" 2>&1 || exit 1
done
echo "[$(date -Iseconds)] Finished k3d entrypoint scripts!" >> "$LOGFILE"
/bin/k3s "$@" &
k3s_pid=$!
# shellcheck disable=SC3028
until kubectl uncordon "$HOSTNAME"; do sleep 3; done
# shellcheck disable=SC3028
cleanup() {
echo Draining node...
kubectl drain "$HOSTNAME" --force --delete-emptydir-data
echo Sending SIGTERM to k3s...
kill -15 $k3s_pid
echo Waiting for k3s to close...
wait $k3s_pid
echo Bye!
}
# shellcheck disable=SC3048
trap cleanup SIGTERM SIGINT SIGQUIT SIGHUP
wait $k3s_pid
echo "k3d cleanup finished! Bye!"