Skip to content

Instantly share code, notes, and snippets.

@superseb
Last active June 19, 2023 10:03
Show Gist options
  • Save superseb/2cf186726807a012af59a027cb41270d to your computer and use it in GitHub Desktop.
Save superseb/2cf186726807a012af59a027cb41270d to your computer and use it in GitHub Desktop.
Cleanup host added as custom to Rancher 2.0
#!/bin/sh
# OUTDATED: please refer to the link below for the latest version:
# https://github.com/rancherlabs/support-tools/blob/master/extended-rancher-2-cleanup/extended-cleanup-rancher2.sh
docker rm -f $(docker ps -qa)
docker volume rm $(docker volume ls -q)
cleanupdirs="/var/lib/etcd /etc/kubernetes /etc/cni /opt/cni /var/lib/cni /var/run/calico /opt/rke"
for dir in $cleanupdirs; do
echo "Removing $dir"
rm -rf $dir
done
@Snaacker
Copy link

Is this command rm all container in docker (event it doesn't relate, and installed before Rancher cluster)?

It will remove all running container on your machine (even it's not related to Rancher cluster)

@sdirkwinkel
Copy link

I've changed the script to just remove rancher / k8s containers and images and use docker volume prune to cleanup volumes:

#!/bin/bash
user=$EUID
if [ "${user}" != "0" ]; then
  echo
  echo "$0 must be run as root - you are running as $EUID"
  echo
  exit 1
fi
echo
echo "About to destroy Rancher 2.x install"
echo "5s to cancel with ^c"
echo
sleep 5

containers=$(docker ps -a | grep -E "rancher|k8s" | awk '{print $1}')
if [ "${containers}x" != "x" ]
then
  docker rm -f $containers
else
  echo "No containers - ignoring docker rm"
fi

images=$(docker images -a | grep -E "rancher|k8s" | awk '{print $3}')
if [ "${images}x" != "x" ]
then
  docker rmi $images
else
  echo "No images - ignoring docker rmi"
fi

docker volume prune


cleanupdirs="/var/lib/etcd /etc/kubernetes /etc/cni /opt/cni /var/lib/cni /var/run/calico /opt/rke"
for dir in $cleanupdirs; do
  echo "Removing $dir"
  rm -rf $dir
done

@busla
Copy link

busla commented Oct 29, 2019

When installing rancher-agent on the same host for testing purposes the cluster would not run properly until I also removed all data from /opt/rancher, perhaps it was only one of the three dirs:

root@rancher:~# ls /opt/rancher
certs-cache  k3s  management-state

@qrzeller
Copy link

qrzeller commented May 4, 2020

Thanks !
ros should have a clean function. Or reinstall from cloud-config...

@mikekuzak
Copy link

Will this unregister the node from the cluster too ?

@awesinine
Copy link

saved me a bunch of time, tyvm!

@HoffmannP
Copy link

Are you shure it's /var/run/calico and not /var/lib/calico?

@superseb
Copy link
Author

@HoffmannP This gist is outdated, I updated the code with a link to the updated version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment