#!/bin/bash # Backup your data # Use at your own risk # Usage ./extended-cleanup-rancher2.sh # Include clearing all iptables: ./extended-cleanup-rancher2.sh flush containers=$(docker ps -qa) [[ ! -z "$containers" ]] && docker rm -f $containers images=$(docker images -q) [[ ! -z "$images" ]] && docker rmi -f $images volumes=$(docker volume ls -q) [[ ! -z "$volumes" ]] && docker volume rm $volumes for mount in $(mount | grep '/var/lib/kubelet' | awk '{ print $3 }') /var/lib/kubelet /var/lib/rancher; do umount $mount; done cleanupdirs="/opt/rancher /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 service docker restart else echo "Parameter flush not found, iptables not cleaned" fi