Как полностью удалить Kubernetes
Я установил кластер kubernetes с помощью kubeadm, следуя этому руководству . Через некоторое время я решил переустановить K8s, но столкнулся с проблемами с удалением всех связанных файлов и не нашел на официальном сайте никакой документации, как удалить кластер, установленный через kubeadm.
Немного погуглив я нашел информацию на разных сайтах и решил ее выложить у себя. Для чего это нужно? Если появилась задача переустановить кубер нужно сначало удалить все, чтобы не помешали остатки кубера новой установке.
Нужно удалить:
- kubectl
- kubeadm
- kebrlet
kubeadm reset
sudo apt-get purge kubeadm kubectl kubelet kubernetes-cni kube*
sudo apt-get autoremove
sudo rm -rf ~/.kube
так же нужно почистить оставшиеся файлы и паки и исправить правила в iptables
kubeadm reset -f
rm -rf /etc/cni /etc/kubernetes /var/lib/dockershim /var/lib/etcd /var/lib/kubelet /var/run/kubernetes ~/.kube/*
iptables -F && iptables -X
iptables -t nat -F && iptables -t nat -X
iptables -t raw -F && iptables -t raw -X
iptables -t mangle -F && iptables -t mangle -X
systemctl restart docker
затем нужно проверить через docker ps -a какие контейнеры остались и удалить их
docker system prune -a
Затем вам необходимо переустановить docker.io
, kubeadm
, kubectl
и kubelet
, прежде чем повторно инициализировать кластер.
Обнаружено, что калико добавляет правила брандмауэра в таблицу raw
, поэтому также необходимо очистить.
Есть еще один сценарий для дистрибутивов основанных на debian
все примерно тоже самое
sudo kubeadm reset
sudo apt purge kubectl kubeadm kubelet kubernetes-cni -y
sudo apt autoremove
sudo rm -fr /etc/kubernetes/
sudo rm -fr ~/.kube/
sudo rm -fr /var/lib/etcd
sudo rm -rf /var/lib/cni/
sudo systemctl daemon-reload
sudo iptables -F && sudo iptables -t nat -F && sudo iptables -t mangle -F && sudo iptables -X
docker rm -f `docker ps -a | grep "k8s_" | awk '{print $1}'`