Тема
Очистка ноды от компонентов k8s
Предисловие
Эта инструкция поможет очистить сервер самостоятельно, без машинерии.
Внимание
Действия приведут к полному удалению всех данных, связанных с kubernetes, в том числе и персистентного хранилища.
Зачистка
Сначала установите базовый путь хранения артефактов. Это значение динамическое, поэтому задайте его вручную, посмотрев в директорию:
bash
/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Найдя полный путь до артефактов, объявите переменную:
Пример объявления переменной:
bash
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 на машине
bash
kubeadm resetОтключите containerd
bash
systemctl stop containerd && systemctl disable containerdЗачистите артефакты
bash
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
bash
rm -rf /var/lib/longhornУдалите пакеты kubernetes
bash
rpm -e cri-tools kubeadm kubectl kubelet kubernetes-cniУдалите конфигурации ОС
bash
tar tf {++"$BUNDLE_PATH/conf.tar"++} | xargs -n 1 echo '/' | sed 's/ //g' | grep -e "[^/]$" | xargs rm -fУдалите модули ядра
bash
modprobe -rq overlay && modprobe -r br_netfilterУдалите сетевые интерфейсы
bash
for interface in cilium_net cilium_vxlan lxc_health; do ip a show {++"${interface}"++} && ip link delete {++"${interface}"++} || true; doneУдалите артефакты боцмана
bash
rm -rf {++$BUNDLE_PATH++}