Job (K8s)
Un objeto de Kubernetes para una tarea que debe ejecutarse hasta el final y luego terminar — un proceso por lotes, una migración, un cálculo puntual. A diferencia de un Deployment (pensado para durar para siempre), un Job da por completado un pod cuando este termina con éxito.
Mecánica: un Job crea uno o varios pods y los vigila hasta alcanzar el número indicado de finalizaciones exitosas (completions). Funciones: parallelism (varios pods a la vez para acabar el trabajo antes), backoffLimit (cuántos reintentos se permiten antes de dar el Job por fallido), y distintos modos de finalización (una sola tarea, o un conjunto de trabajo indexado). Casos de uso: migración de base de datos en un despliegue, ETL por lotes, generar un informe, procesar una cola de tareas. Se distingue de un Deployment (un servicio siempre activo que se reinicia al salir) — un Job está pensado para acabar. Un CronJob es un Job que se ejecuta según un horario. Trampa habitual: olvidar limpiar los Jobs terminados (ttlSecondsAfterFinished) y dejar que se acumulen. Fundamental para las cargas de trabajo por lotes en Kubernetes. Relacionado con CronJob (K8s).