Очистка ноды от компонентов k8s
Предисловие
Эта инструкция поможет очистить сервер самостоятельно, без машинерии.
Действия приведут к полному удалению всех данных, связанных с kubernetes, в том числе и персистентного хранилища.
Очистка от неудачной попытки установки
В случае неудачной попытки установки кластера, на всех узлах выполните следующие действия:
-
Остановите Host-агент
-
Удалите файл конфигурации
-
Перезапустите Host-агент
-
Проверьте статус запуска Host-агент
Зачистка
Мы рекомендуем пользоваться автоматическим способом зачистки ноды от компонентов kubernetes.
Для автоматической зачистки ноды воспользуйтесь командой:
Важно!
Команду автоматической зачистки следует выполнять отдельно на проблемном узле, либо на каждом из используемых узлов, при развертывании нового кластера.
Перезагрузите ноды после зачистки.
При необходимости ручной зачистки ноды от компонентов выполните следующие действия:
Сначала установите базовый путь хранения артефактов. Это значение динамическое, поэтому задайте его вручную, посмотрев в директорию:
Пример структуры директории:
/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 на машине
Отключите 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
Удалите пакеты kubernetes
Удалите конфигурации ОС
Удалите модули ядра
Удалите сетевые интерфейсы
for interface in cilium_net cilium_vxlan lxc_health; do ip a show interface && ip link delete interface || true; done