Batch processing differs from persistent applications—such as web servers—in that programs are expected to complete and terminate once they achieve their goal. Typical examples of batch processing include database migration scripts, video encoding jobs, and Extract-Load-Transform (ETL) runbooks. Similarly to the ReplicaSet controller, Kubernetes has a dedicated Job controller that manages Pods for the purpose of running batch-oriented workloads.
Instrumenting batch processes using Jobs is relatively straightforward as we will soon learn in this short chapter. In the first section, ...