#!/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 ==="