Kubernetes Cron Jobs - Run multiple pods for a cron job

5/30/2019

Our requirement is we need to do batch processing every 3 hours but single process can not handle the work load. we have to run multiple pods for the same cron job. Is there any way to do that ?

Thank you.

-- Nidhi Agarwal
kubernetes

1 Answer

5/30/2019

You can provide parallelism: <num_of_pods> to cronjob.spec.jobTemplate.spec and it will run the multiple pods () at the same time.

Following is the example of a cronjob which runs 3 nginx pod every minute.

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  creationTimestamp: null
  labels:
    run: cron1
  name: cron1
spec:
  concurrencyPolicy: Allow
  jobTemplate:
    metadata:
      creationTimestamp: null
    spec:
      parallelism: 3
      template:
        metadata:
          creationTimestamp: null
          labels:
            run: cron1
        spec:
          containers:
          - image: nginx
            name: cron1
            resources: {}
          restartPolicy: OnFailure
  schedule: '*/1 * * * *'
  concurrencyPolicy: Forbid
status: {}
-- Prafull Ladha
Source: StackOverflow