Тема
Очистка ноды от компонентов k8s
Предисловие
Эта инструкция поможет очистить сервер самостоятельно, без машинерии.
Действия приведут к полному удалению всех данных, связанных с kubernetes, в том числе и персистентного хранилища.
Очистка от неудачной попытки установки
В случае неудачной попытки установки кластера, на всех узлах выполните следующие действия:
- Остановите Host-агент
bash
sudo systemctl stop host-agent.service- Удалите файл конфигурации
bash
sudo rm /root/.byoh/config- Перезапустите Host-агент
bash
sudo systemctl start host-agent.service- Проверьте статус запуска Host-агент
bash
sudo systemctl status host-agent.service
sudo journalctl -xe -u host-agent -fЗачистка
Мы рекомендуем пользоваться автоматическим способом зачистки ноды от компонентов kubernetes.
Для автоматической зачистки ноды воспользуйтесь командой:
bash
byoh-agent clean-k8sЗаметка
Команду автоматической зачистки следует выполнять отдельно на проблемном узле, либо на каждом из используемых узлов, при развертывании нового кластера.
При необходимости ручной зачистки ноды от компонентов выполните следующие действия:
Сначала установите базовый путь хранения артефактов. Это значение динамическое, поэтому задайте его вручную, посмотрев в директорию:
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-cnibash
dpkg -P 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++}Sudo
bash
rm /root/.byoh/config && sudo systemctl restart host-agent && sudo systemctl status host-agent