Перейти к содержанию

Как полностью удалить 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.iokubeadmkubectl и 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}'`