Перейти к содержимому

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

Предисловие ​

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

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

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

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

  1. Остановите Host-агент
bash
sudo systemctl stop host-agent.service
  1. Удалите файл конфигурации
bash
sudo rm /root/.byoh/config
  1. Перезапустите Host-агент
bash
sudo systemctl start host-agent.service
  1. Проверьте статус запуска Host-агент
bash
sudo systemctl status host-agent.service  
sudo journalctl -xe -u host-agent -f

Зачистка ​

Мы рекомендуем пользоваться автоматическим способом зачистки ноды от компонентов kubernetes.
Для автоматической зачистки ноды воспользуйтесь командой:

bash
byoh-agent clean-k8s

WARNING

Команду автоматической зачистки следует выполнять отдельно на проблемном узле, либо на каждом из используемых узлов, при развертывании нового кластера.

Перезагрузите ноды после зачистки.

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

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

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
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

Команда Боцман