¿Cuándo usarías un StatefulSet, un DaemonSet, un Job o un CronJob en lugar de un Deployment?
Opciones
- StatefulSet: con estado. DaemonSet: por nodo. Job: una vez. CronJob: programado (Opción correcta)
- Son idénticos y cualquiera reemplaza a un Deployment
- StatefulSet es para apps sin estado y Job para bases de datos
- DaemonSet crea bases de datos y CronJob escala Pods
Respuesta
StatefulSet: apps con estado que necesitan identidad y almacenamiento estables (bases de datos). DaemonSet: un Pod por nodo (agentes de logs). Job: ejecutar una tarea hasta terminar. CronJob: ejecutar un Job en un calendario
Por qué
Deployment encaja con apps stateless: cualquier réplica es intercambiable.
- StatefulSet: Pods con nombres estables (
db-0,db-1) y sus propios volúmenes persistentes; para bases de datos y brokers. - DaemonSet: garantiza que corre un Pod en cada nodo: recolectores de logs, agentes de monitorización.
- Job: corre hasta terminar con éxito (una migración, una importación por lotes).
- CronJob: crea Jobs en un calendario cron (informe nocturno).
Recuerda
Stateless = Deployment. Con estado = StatefulSet. Por nodo = DaemonSet. Una vez = Job.