One Pod per node, a task that finishes, or a task on a schedule.
DaemonSet
n1n2n3n4
Exactly one Pod on every (or every matching) node; a new node gets one automatically.
Log shippers, node-exporter, CNI and CSI agents.
Job
01234
Runs Pods until completions succeed. parallelism sets how many at once; backoffLimit caps retries with exponential backoff.
completionMode: Indexed gives each Pod an index for sharded batch work.
CronJob
02:0002:00+1d
Creates a Job on a cron schedule. Always set concurrencyPolicy.
Allow (default) may overlap, Forbid skips, Replace cancels the old run.
The classic mistake
A one-time migration run as a Deployment is restarted forever: restartPolicy: Always treats a clean exit as a crash. Use a Job (OnFailure or Never).
Backups must never overlap
A nightly backup that occasionally runs long can overlap with the next run under Allow. Use Forbid and set startingDeadlineSeconds.