dotfiles/.local/bin/spanish_clean_node.sh
2025-05-28 18:33:04 +02:00

86 lines
2.4 KiB
Bash

#!/bin/bash
# Script para limpiar (deshacer) un clúster de Kubernetes configurado con containerd en sistemas CentOS/RHEL
# Salir inmediatamente si ocurre un error
set -e
# Función para mostrar mensajes de información
echo_info() {
echo -e "\e[32m[INFO]\e[0m $1"
}
# Función para mostrar mensajes de error
echo_error() {
echo -e "\e[31m[ERROR]\e[0m $1" >&2
}
# Verificar si el script se está ejecutando como root
if [ "$(id -u)" -ne 0 ]; then
echo_error "Este script debe ejecutarse como root o con sudo."
exit 1
fi
echo_info "=== Inicio del proceso de limpieza del clúster de Kubernetes ==="
# 1. Detener y deshabilitar servicios de Kubernetes
echo_info "Deteniendo y deshabilitando el servicio kubelet..."
systemctl stop kubelet
systemctl disable kubelet
# 2. Resetear el clúster de Kubernetes
echo_info "Reseteando el clúster de Kubernetes con kubeadm..."
kubeadm reset -f
# 3. Detener y deshabilitar containerd
echo_info "Deteniendo y deshabilitando el servicio containerd..."
systemctl stop containerd
systemctl disable containerd
# 4. Eliminar directorios de configuración de Kubernetes
echo_info "Eliminando directorios de configuración de Kubernetes..."
rm -rf /etc/kubernetes/
rm -rf /var/lib/etcd/
rm -rf /var/lib/kubelet/
rm -rf /var/run/kubernetes/
# 5. Limpiar configuraciones de CNI
echo_info "Eliminando configuraciones de CNI..."
rm -rf /etc/cni/
rm -rf /opt/cni/
# 6. Limpiar reglas de iptables
echo_info "Limpiando reglas de iptables..."
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# 7. Desinstalar paquetes de Kubernetes
echo_info "Desinstalando paquetes de Kubernetes..."
yum remove -y kubelet kubeadm kubectl
# 8. (Opcional) Desinstalar containerd
# Descomenta las siguientes líneas si deseas desinstalar containerd también
# echo_info "Desinstalando containerd..."
# yum remove -y containerd.io
# 9. Eliminar archivos residuales
echo_info "Eliminando archivos residuales..."
rm -rf ~/.kube/
rm -rf /etc/systemd/system/kubelet.service.d/
# 10. Limpiar repositorios de Kubernetes
echo_info "Eliminando repositorios de Kubernetes..."
rm -f /etc/yum.repos.d/kubernetes.repo
# 11. (Opcional) Reiniciar el sistema
# Descomenta la siguiente línea si deseas reiniciar el sistema automáticamente
# echo_info "Reiniciando el sistema..."
# reboot
echo_info "=== Proceso de limpieza del clúster de Kubernetes completado ==="