-
-
Save superseb/06539c6dcd377e118d72bfefdd444f81 to your computer and use it in GitHub Desktop.
#!/bin/sh | |
# Backup your data | |
# Use at your own risk | |
# Usage ./extended-cleanup-rancher2.sh | |
# Include clearing all iptables: ./extended-cleanup-rancher2.sh flush | |
docker rm -f $(docker ps -qa) | |
docker rmi -f $(docker images -q) | |
docker volume rm $(docker volume ls -q) | |
for mount in $(mount | grep tmpfs | grep '/var/lib/kubelet' | awk '{ print $3 }') /var/lib/kubelet /var/lib/rancher; do umount $mount; done | |
cleanupdirs="/etc/ceph /etc/cni /etc/kubernetes /opt/cni /opt/rke /run/secrets/kubernetes.io /run/calico /run/flannel /var/lib/calico /var/lib/etcd /var/lib/cni /var/lib/kubelet /var/lib/rancher/rke/log /var/log/containers /var/log/pods /var/run/calico" | |
for dir in $cleanupdirs; do | |
echo "Removing $dir" | |
rm -rf $dir | |
done | |
cleanupinterfaces="flannel.1 cni0 tunl0" | |
for interface in $cleanupinterfaces; do | |
echo "Deleting $interface" | |
ip link delete $interface | |
done | |
if [ "$1" = "flush" ]; then | |
echo "Parameter flush found, flushing all iptables" | |
iptables -F -t nat | |
iptables -X -t nat | |
iptables -F -t mangle | |
iptables -X -t mangle | |
iptables -F | |
iptables -X | |
/etc/init.d/docker restart | |
else | |
echo "Parameter flush not found, iptables not cleaned" | |
fi |
I highly appreciate you script, but there is one severe problem making it (almost) unusable for me: It removes unrelated docker containers and images.
Somewhere I read the recommendation, to use the "legacy" iptables command instead of the version based on nftables, so I tried. Apparently these tables were never cleaned up. After running the script with "flush" iptables-save showed me a message "Warning: iptables-legacy tables present, use iptables-legacy-save to see them". Very hard to detect. Maybe it would be helpful to flush these tables as well?
(https://v1-15.docs.kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/)
Your shared shell script is effective. I was stuck on this issue for a long time and even asking GPT couldn't solve it. Thank you for sharing.
非常謝謝你~好用!
Thank you @superseb. Your script worked well
some error checks + adopt to bash @ ubuntu