Kubernetes: Cluster mediawiki-production
Este documento describe los componentes desplegados en el namespace mediawiki-production, su rol dentro del sistema, y consideraciones operativas respecto a reinicios, borrado y funcionamiento.
Pods Principales
1. mariadb-0
- Tipo: StatefulSet
- Rol: Base de datos principal para las wikis de MediaWiki.
- Características:
- StatefulSet asegura nombre estable y almacenamiento persistente.
- Asociado a un PVC (
storage-mariadb-0) que mantiene los datos incluso si el pod se elimina.
- Operaciones:
- Reiniciar:
kubectl delete pod mariadb-0 -n mediawiki-production→ Kubernetes lo recreará automáticamente. - Nunca eliminar el PVC sin backup previo.
- Reiniciar:
2. mediawiki-* (varias réplicas)
- Tipo: ReplicaSet / Deployment
- Rol: Contienen la aplicación MediaWiki que sirve las wikis.
- Características:
- Existen múltiples réplicas (3) (
mediawiki-xxxxx), lo que permite balanceo de carga y alta disponibilidad. - Si un pod se reinicia o elimina, Kubernetes crea uno nuevo automáticamente.
- Existen múltiples réplicas (3) (
3. varnish-*
- Tipo: ReplicaSet
- Rol: Cache reversa que acelera las respuestas HTTP de MediaWiki.
- Características:
- Reduce carga en MediaWiki y MariaDB.
- Almacenamiento no persistente, puede ser eliminado sin riesgo de pérdida de datos.
- Operaciones:
- Reinicio seguro:
kubectl delete pod <varnish-pod> -n mediawiki-production.
- Reinicio seguro:
4. db-backup-* (Jobs)
- Tipo: Job
- Rol: Respaldos periódicos de la base de datos MariaDB.
- Características:
- Cada pod de tipo
db-backup-xxxxxse ejecuta, genera el respaldo y finaliza con estadoSucceeded. - No permanecen en ejecución, solo se crean bajo demanda o en cron jobs programados.
- Cada pod de tipo
- Operaciones:
- Forzar un backup:
kubectl create job ...(dependiendo del manifiesto configurado).
- Forzar un backup:
5. reiniciar-mariadb-* (Jobs)
- Tipo: Job
- Rol: Jobs especiales diseñados para forzar un reinicio de MariaDB de forma controlada.
- Características:
- Al ejecutarse, gestionan acciones administrativas sobre el StatefulSet de MariaDB.
- Finalizan en
Succeeded.
- Operaciones:
- Normalmente no se ejecutan manualmente salvo mantenimiento.
6. mariadb-metrics-*
- Tipo: ReplicaSet
- Rol: Exportador de métricas de MariaDB (similar a
mysqld_exporter). - Características:
- Expone métricas para Prometheus/Grafana.
- Consulta periódicamente el estado de MariaDB.
- No almacena datos críticos, puede eliminarse y se recreará automáticamente.
- Operaciones:
- Ver logs:
kubectl logs <mariadb-metrics-pod> -n mediawiki-production. - Reinicio seguro:
kubectl delete pod <mariadb-metrics-pod> -n mediawiki-production.
- Ver logs:
Consideraciones Operativas
- Pods de MediaWiki y Varnish → Pueden reiniciarse o eliminarse sin riesgo, Kubernetes los reemplaza.
- MariaDB (
mariadb-0) → Nunca borrar el PVC asociado sin backup. Los reinicios deben planificarse. - Jobs de Backup → Son críticos para la recuperación. Confirmar que siempre terminan en
Succeeded. - Jobs de Reinicio → Usarse con cuidado, pensados para mantenimiento controlado.
- Metrics → No afectan el servicio, pero son útiles para monitoreo y diagnóstico.
El namespace mediawiki-production está diseñado para soportar alta disponibilidad y resiliencia, siempre que se respeten las prácticas de no eliminar almacenamiento persistente sin respaldo y se mantengan en ejecución los Jobs de backup.