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

Очистка ноды от компонентов k8s

Предисловие

Эта инструкция поможет очистить сервер самостоятельно, без машинерии.

Действия приведут к полному удалению всех данных, связанных с kubernetes, в том числе и персистентного хранилища.

Очистка от неудачной попытки установки

В случае неудачной попытки установки кластера, на всех узлах выполните следующие действия:

  1. Остановите Host-агент

    sudo systemctl stop host-agent.service
    

  2. Удалите файл конфигурации

    sudo rm /root/.byoh/config
    

  3. Перезапустите Host-агент

    sudo systemctl start host-agent.service
    

  4. Проверьте статус запуска Host-агент

    sudo systemctl status host-agent.service  
    sudo journalctl -xe -u host-agent -f  
    

Зачистка

Сначала установите базовый путь хранения артефактов. Это значение динамическое, поэтому задайте его вручную, посмотрев в директорию:

/var/lib/byoh/bundles

Пример структуры директории:

/var/lib/byoh/bundles
└── harbor.bootsman.host
    └── bootsman-nimbus
        └── common-artifacts
            └── cluster-api-byoh-redos-bundle
                └── byoh-bundle-redos_7.3.2_x86-64_k8s:v1.27.4
                    ├── conf.tar
                    ├── containerd.tar
                    ├── cri-tools.rpm
                    ├── imgpkg
                    ├── kubeadm.rpm
                    ├── kubectl.rpm
                    ├── kubelet.rpm
                    └── kubernetes-cni.rpm
Найдя полный путь до артефактов, объявите переменную:

Пример объявления переменной:

export BUNDLE_PATH=/var/lib/byoh/bundles/harbor.bootsman.host/bootsman-nimbus/common-artifacts/cluster-api-byoh-redos-bundle/byoh-bundle-redos_7.3.2_x86-64_k8s\:v1.27.4/
Теперь можно очистить сервер.

Сбросьте состояние kubernetes на машине

kubeadm reset

Отключите containerd

systemctl stop containerd && systemctl disable containerd

Зачистите артефакты

rm -rf /opt/cni/ && rm -rf /etc/cni/ && rm -rf /opt/containerd/ && rm -rf /var/lib/containerd/ &&   tar tf "$BUNDLE_PATH/containerd.tar" | xargs -n 1 echo '/' | sed 's/ //g'  | grep -e '[^/]$' | xargs rm -f

Зачистите хранилище PV

rm -rf /var/lib/longhorn

Удалите пакеты kubernetes

rpm -e cri-tools kubeadm kubectl kubelet kubernetes-cni
dpkg -P cri-tools kubeadm kubectl kubelet kubernetes-cni

Удалите конфигурации ОС

tar tf "BUNDLE_PATH/conf.tar" | xargs -n 1 echo '/' | sed 's/ //g' | grep -e "[^/]$" | xargs rm -f

Удалите модули ядра

modprobe -rq overlay && modprobe -r br_netfilter

Удалите сетевые интерфейсы

for interface in cilium_net cilium_vxlan lxc_health; do ip a show interface && ip link delete interface || true; done

Удалите артефакты боцмана

rm -rf BUNDLE_PATH

Sudo

rm /root/.byoh/config && sudo systemctl restart host-agent && sudo systemctl status host-agent