annotate files/kube/k3s-killall.sh @ 311:c44677a25baf

opendkim fix restart
author drewp@bigasterisk.com
date Mon, 16 Sep 2024 20:10:58 -0700
parents 340d778a1682
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
1 #!/bin/sh
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
2 [ $(id -u) -eq 0 ] || exec sudo $0 $@
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
3
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
4 for bin in /var/lib/rancher/k3s/data/**/bin/; do
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
5 [ -d $bin ] && export PATH=$PATH:$bin:$bin/aux
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
6 done
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
7
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
8 set -x
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
9
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
10 for service in /etc/systemd/system/k3s*.service; do
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
11 [ -s $service ] && systemctl stop $(basename $service)
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
12 done
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
13
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
14 for service in /etc/init.d/k3s*; do
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
15 [ -x $service ] && $service stop
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
16 done
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
17
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
18 pschildren() {
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
19 ps -e -o ppid= -o pid= | \
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
20 sed -e 's/^\s*//g; s/\s\s*/\t/g;' | \
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
21 grep -w "^$1" | \
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
22 cut -f2
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
23 }
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
24
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
25 pstree() {
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
26 for pid in $@; do
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
27 echo $pid
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
28 for child in $(pschildren $pid); do
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
29 pstree $child
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
30 done
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
31 done
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
32 }
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
33
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
34 killtree() {
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
35 kill -9 $(
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
36 { set +x; } 2>/dev/null;
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
37 pstree $@;
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
38 set -x;
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
39 ) 2>/dev/null
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
40 }
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
41
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
42 getshims() {
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
43 ps -e -o pid= -o args= | sed -e 's/^ *//; s/\s\s*/\t/;' | grep -w 'k3s/data/[^/]*/bin/containerd-shim' | cut -f1
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
44 }
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
45
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
46 killtree $({ set +x; } 2>/dev/null; getshims; set -x)
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
47
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
48 do_unmount_and_remove() {
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
49 set +x
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
50 while read -r _ path _; do
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
51 case "$path" in $1*) echo "$path" ;; esac
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
52 done < /proc/self/mounts | sort -r | xargs -r -t -n 1 sh -c 'umount "$0" && rm -rf "$0"'
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
53 set -x
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
54 }
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
55
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
56 do_unmount_and_remove '/run/k3s'
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
57 do_unmount_and_remove '/var/lib/rancher/k3s'
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
58 do_unmount_and_remove '/var/lib/kubelet/pods'
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
59 do_unmount_and_remove '/var/lib/kubelet/plugins'
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
60 do_unmount_and_remove '/run/netns/cni-'
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
61
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
62 # Remove CNI namespaces
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
63 ip netns show 2>/dev/null | grep cni- | xargs -r -t -n 1 ip netns delete
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
64
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
65 # Delete network interface(s) that match 'master cni0'
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
66 ip link show 2>/dev/null | grep 'master cni0' | while read ignore iface ignore; do
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
67 iface=${iface%%@*}
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
68 [ -z "$iface" ] || ip link delete $iface
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
69 done
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
70 ip link delete cni0
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
71 ip link delete flannel.1
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
72 ip link delete flannel-v6.1
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
73 ip link delete kube-ipvs0
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
74 rm -rf /var/lib/cni/
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
75 iptables-save | grep -v KUBE- | grep -v CNI- | grep -v flannel | iptables-restore
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents:
diff changeset
76 ip6tables-save | grep -v KUBE- | grep -v CNI- | grep -v flannel | ip6tables-restore