Тема
Очистка ноды от компонентов 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