DevOps

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