86 lines
2.4 KiB
Bash
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 ==="
|
|
|