Как полностью удалить Kubernetes

Я установил кластер kubernetes с помощью kubeadm, следуя этому руководству . Через некоторое время я решил переустановить K8s, но столкнулся с проблемами с удалением всех связанных файлов и не нашел на официальном сайте никаких документов, как удалить кластер, установленный через kubeadm. Кто-нибудь сталкивался с такими же проблемами и знал, как правильно удалить все файлы и зависимости? Заранее спасибо.

Для получения дополнительной информации я удалил kubeadm, kubectl и kubelet с помощью apt-get purge/remove, но когда я снова начал установку кластера, я получил следующие ошибки:

[preflight] Some fatal errors occurred:
    Port 6443 is in use
    Port 10251 is in use
    Port 10252 is in use
    /etc/kubernetes/manifests is not empty
    /var/lib/kubelet is not empty
    Port 2379 is in use
    /var/lib/etcd is not empty

person Kirill Liubun    schedule 22.06.2017    source источник
comment
В Ubuntu 20.04 snap remove microk8s, похоже, справляется со своей задачей.   -  person Kenji Noguchi    schedule 07.06.2020


Ответы (6)


используйте команду kubeadm reset. это отключит настройку кластера Kubernetes.

person sfgroups    schedule 22.06.2017
comment
Спасибо, но я ищу полное удаление kubeadm и всех связанных зависимостей, чтобы решить мою корневую проблему - stackoverflow.com/questions/44717222/) Перед переустановкой все работает нормально, и я смог просмотреть журналы. Итак, я подумал об удалении K8s полностью с моей машины после второй установки, потому что я думаю, что остались некоторые неверно установленные зависимости, и такая же проблема появилась после следующих установок. - person Kirill Liubun; 25.06.2017
comment
тогда вам нужно удалить кубернет и докер rpms и переустановить их. - person sfgroups; 26.06.2017
comment
Мои контейнеры продолжали перезапускаться. -f флаг принудительного сброса и перезапуска остановленного контейнера. сброс докеров -f - person Pav K.; 31.08.2018

В моем «Ubuntu 16.04» я использую следующие шаги, чтобы полностью удалить и очистить Kubernetes (установленный с помощью «apt-get»):

kubeadm reset
sudo apt-get purge kubeadm kubectl kubelet kubernetes-cni kube*   
sudo apt-get autoremove  
sudo rm -rf ~/.kube

И перезагрузите компьютер.

person Rib47    schedule 13.03.2018
comment
Я выполнил эти шаги, но теперь каждый раз, когда я открываю терминал, появляется следующее сообщение: kubectl: command not found Command 'minikube' not found, did you mean: command 'minitube' from deb minitube Try: sudo apt install <deb name> - person Michael Pacheco; 25.01.2019
comment
@MichaelPacheco У вас, вероятно, есть остатки minikube в .bashrc или другой конфигурации. - person ferrix; 27.02.2019
comment
как удалить изображения, связанные с докером, за один раз? все, начиная с k8s. * - person Kundan; 29.01.2020

Если вы очищаете кластер, чтобы можно было начать снова, то, в дополнение к тому, что сказал @ rib47, я также делаю следующее, чтобы убедиться, что мои системы снова готовы к kubeadm init:

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.io, kubeadm, kubectl и kubelet, чтобы убедиться, что они являются последними версиями для вашего дистрибутива, прежде чем повторно инициализировать кластер.

РЕДАКТИРОВАТЬ: Обнаружено, что калико добавляет правила брандмауэра в таблицу raw, поэтому также необходимо очистить.

person AnthonyK    schedule 30.06.2020

В руководстве, которое вы связали, теперь есть раздел Tear Down :

Поговорив с мастером с соответствующими учетными данными, запустите:

kubectl drain <node name> --delete-local-data --force --ignore-daemonsets
kubectl delete node <node name>

Затем на удаляемом узле сбросьте все установленные состояния kubeadm:

kubeadm reset
person Matthew    schedule 13.04.2018
comment
Установлен новый ubuntu 18.04 - смотрите, как работают кубернеты - я не знаю, как он был установлен. Как удалить - в системе нет kubeadm или kubectl (которые я могу найти) - person Sam-T; 14.12.2019

Я использую следующие сценарии для полного удаления существующего кластера Kubernetes и его запущенных контейнеров докеров.

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

# remove all running docker containers
docker rm -f `docker ps -a | grep "k8s_" | awk '{print $1}'`
person j3ffyang    schedule 12.04.2021

person    schedule
comment
Хотя этот код может решить вопрос, включая объяснение того, как и почему это решает проблему, действительно поможет улучшить качество. вашего сообщения, и, вероятно, приведет к большему количеству голосов. Помните, что вы отвечаете на вопрос для будущих читателей, а не только для человека, который задает его сейчас. Отредактируйте свой ответ, чтобы добавить пояснения и указать, какие ограничения и предположения применяются. - person David Buck; 18.03.2020
comment
Не хватает небольшого объяснения, но этот ответ должен быть первым - person Arfat Binkileb; 11.12.2020