Esta guía te lleva por el proceso completo de eliminación de un despliegue de Midaz de Kubernetes. Un helm uninstall estándar elimina los recursos gestionados por Helm, pero varios recursos persistentes — PersistentVolumeClaims, Secrets, ConfigMaps y el propio namespace — se dejan intencionalmente para prevenir pérdidas accidentales de datos. Esta página cubre cómo limpiarlos completamente cuando sea necesario.
Desinstalar Midaz elimina permanentemente los datos de la aplicación. Antes de continuar, asegúrate de tener copias de seguridad de todas las bases de datos y cualquier dato que necesites conservar. Esta operación es irreversible.
Ejecuta el siguiente comando para desinstalar el release de Helm de Midaz:
helm uninstall midaz -n midaz
Esto elimina todos los recursos de Kubernetes creados por el chart de Helm — Deployments, Services, Ingresses, ConfigMaps gestionados por Helm, ServiceAccounts y recursos RBAC. No elimina PersistentVolumeClaims, Secrets creados fuera de Helm, ni el namespace.Verifica que todos los pods gestionados por Helm hayan sido eliminados:
Los PVCs almacenan los volúmenes de base de datos y nunca son eliminados por helm uninstall. Lístalos primero para confirmar qué existe:
kubectl get pvc -n midaz
Elimina todos los PVCs del namespace (esto destruye todos los datos almacenados en esos volúmenes):
kubectl delete pvc --all -n midaz
O elimina PVCs específicos por nombre:
kubectl delete pvc <pvc-name> -n midaz
Eliminar los PVCs destruye permanentemente los datos de los volúmenes subyacentes de PostgreSQL, MongoDB y cualquier otra dependencia con estado. Asegúrate de tener copias de seguridad de las bases de datos antes de ejecutar este comando.
Los Secrets creados fuera del ciclo de vida del release de Helm (por ejemplo, con kubectl create secret) no son eliminados por helm uninstall. Lista todos los secrets del namespace e identifica los que ya no son necesarios:
Una vez que todos los recursos dentro del namespace han sido eliminados, borra el namespace:
kubectl delete namespace midaz
Eliminar el namespace eliminará forzosamente cualquier recurso restante dentro de él. Si un recurso está atascado en estado Terminating, puede que necesites eliminar sus finalizers manualmente.
Para entornos de staging, evaluación o CI donde una eliminación completa es segura, el siguiente script automatiza todo el proceso:
La pérdida de datos es permanente. Ejecuta esto solo en entornos donde tengas copias de seguridad confirmadas o donde la pérdida de datos sea aceptable (staging, evaluación, CI). No ejecutes esto en producción sin una copia de seguridad completa y la aprobación del equipo.
#!/bin/bashset -eNAMESPACE=midazRELEASE=midazecho "==> Desinstalando release de Helm: $RELEASE"helm uninstall "$RELEASE" -n "$NAMESPACE" || trueecho "==> Eliminando todos los PersistentVolumeClaims"kubectl delete pvc --all -n "$NAMESPACE" || trueecho "==> Eliminando todos los Secrets"kubectl delete secrets --all -n "$NAMESPACE" || trueecho "==> Eliminando todos los ConfigMaps"kubectl delete configmaps --all -n "$NAMESPACE" || trueecho "==> Eliminando namespace: $NAMESPACE"kubectl delete namespace "$NAMESPACE" || trueecho "==> Listo. Midaz ha sido eliminado completamente."
Guarda esto como midaz-cleanup.sh, hazlo ejecutable (chmod +x midaz-cleanup.sh) y ejecútalo con ./midaz-cleanup.sh.