Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Cleanup host added as custom to Rancher 2.0
#!/bin/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
@ghost

This comment has been minimized.

Copy link

ghost commented Aug 8, 2018

You are the man! I use this everyday.

@vyo

This comment has been minimized.

Copy link

vyo commented Aug 10, 2018

life saver =)

@steve-todorov

This comment has been minimized.

Copy link

steve-todorov commented Oct 11, 2018

Is there a way to put all of these in a single place other than creating a link with ln -s?

@tgruenert

This comment has been minimized.

Copy link

tgruenert commented Nov 30, 2018

This script delete Rancher2 nodes in a clean way and prepare a recycling / redeployment of nodes in a perfect manner. Little trick - great solution. Thank you.

(Typing some words about will give other users a chance to find this solution. Did it here for all of us ;-) ).

@moisei

This comment has been minimized.

Copy link

moisei commented Dec 19, 2018

I'll keep it here for myself :)!
curl https://gist.githubusercontent.com/superseb/2cf186726807a012af59a027cb41270d/raw/eaa2d235e7693c2d1c5a2a916349410274bb95a9/cleanup.sh > ./cleanup.sh && chmod a+x ./cleanup.sh && sudo ./cleanup.sh

@takatost

This comment has been minimized.

Copy link

takatost commented Mar 7, 2019

It works, thx. You are my hero!!

@davidjsanders

This comment has been minimized.

Copy link

davidjsanders commented Mar 29, 2019

Thank you for this, much appreciated!

I made a slight adaptation of this script and called it clean_rancher.sh after forgetting to run it as sudo, so pasting here in case it helps anyone else...

#!/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 -aq)
if [ "${containers}x" != "x" ]
then
  docker rm -f $(docker ps -qa)
else
  echo "No running containers - ignoring docker rm"
fi

volumes=$(docker volume ls -q)
if [ "${volumes}x" != "x" ]
then
  docker volume rm $(docker volume ls -q)
else
  echo "No volumes - ignoring docker volume rm"
fi

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

Then, chmod +x clean_rancher.sh

Hope this helps others and thanks again for the original script!

David

@wolkjesmaker

This comment has been minimized.

Copy link

wolkjesmaker commented Apr 2, 2019

Thanks, saved me some trouble! 👍

@BurningCat

This comment has been minimized.

Copy link

BurningCat commented Apr 12, 2019

awesome work!

@ghost

This comment has been minimized.

Copy link

ghost commented Jun 16, 2019

this repo is a hidden gem

@dinhanhhuy

This comment has been minimized.

Copy link

dinhanhhuy commented Sep 19, 2019

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

@Snaacker

This comment has been minimized.

Copy link

Snaacker commented Sep 30, 2019

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)

@0xQSL

This comment has been minimized.

Copy link

0xQSL commented Oct 2, 2019

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

This comment has been minimized.

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

This comment has been minimized.

Copy link

qrzeller commented May 4, 2020

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.