#!/bin/sh # vim: set sw=4 ts=4 sts=4 et : usage() { printf 'usage: %s node\n' "${0##*/}" } drain_node() { kubectl drain \ --ignore-daemonsets \ --delete-emptydir-data \ "$1" } stop_node() { ssh "$1" doas sh <&2 systemctl stop kubelet echo 'Stopping all containers' >&2 crictl ps -aq | xargs crictl stop echo 'Stopping CRI-O' >&2 systemctl stop crio EOF } wipe_crio() { echo 'Wiping container storage' ssh "$1" doas crio wipe -f } start_node() { echo 'Starting Kubelet/CRI-O' ssh "$1" doas systemctl start crio kubelet } uncordon_node() { kubectl uncordon "$1" } main() { local node=$1 if [ -z "${node}" ]; then usage >&2 exit 2 fi drain_node "${node}" || exit stop_node "${node}" || exit wipe_crio "${node}" || exit start_node "${node}" || exit uncordon_node "${node}" || exit } main "$@"