2 min read | by Jordi Prats
If you deploy a Cronjob on Kubernetes it can be useful to test it out by manually triggering a run rather than to wait until it is run according by it's schedule.
Let's assume we have the following Cronjob that we want to run:
$ kubectl get cronjob NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE pet2cattle-sitemapgen 0 5 * * * False 0 <none> 13m
To be able to trigger it's execution we will have simulate it by creating a job using the cronjob as a template:
$ kubectl create job --from=cronjob/pet2cattle-sitemapgen p2c-sitmapgen-manual-001 job.batch/p2c-sitmapgen-manual-001 created
We will be able to see whether the Job have completed using kubectl get jobs:
$ kubectl get jobs NAME COMPLETIONS DURATION AGE helm-install-traefik 1/1 37s 72d p2c-sitmapgen-manual-001 1/1 6s 6s
To check the pod that actually run the Job, we will have to describe the job:
$ kubectl describe job p2c-sitmapgen-manual-001 Name: p2c-sitmapgen-manual-001 Namespace: kube-system Selector: controller-uid=f95b858c-d58b-4d7c-ab9f-a695bc4bff0d Labels: controller-uid=f95b858c-d58b-4d7c-ab9f-a695bc4bff0d job-name=p2c-sitmapgen-manual-001 Annotations: cronjob.kubernetes.io/instantiate: manual Parallelism: 1 Completions: 1 Start Time: Sat, 02 Jan 2021 22:09:46 +0100 Completed At: Sat, 02 Jan 2021 22:09:52 +0100 Duration: 6s Pods Statuses: 0 Running / 1 Succeeded / 0 Failed Pod Template: Labels: controller-uid=f95b858c-d58b-4d7c-ab9f-a695bc4bff0d job-name=p2c-sitmapgen-manual-001 Containers: pet2cattle-sitemapgen: Image: 172.18.1.46:5000/p2c:3.1 Port: <none> Host Port: <none> Command: /usr/local/bin/python /code/sitemapgen.py Environment: MINIO_URL: http://pet2cattle-minio.kube-system.svc.cluster.local:9000 MINIO_BUCKET: pet2cattle MINIO_ACCESS_KEY: <set to the key 'accesskey' in secret 'pet2cattle-minio'> Optional: false MINIO_SECRET_KEY: <set to the key 'secretkey' in secret 'pet2cattle-minio'> Optional: false Mounts: <none> Volumes: <none> Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal SuccessfulCreate 5m29s job-controller Created pod: p2c-sitmapgen-manual-001-5ncj9 Normal Completed 5m23s job-controller Job completed
On the events section we can find which pod have been created to run this job, so we can, for example, check it's logs:
$ kubectl get pod p2c-sitmapgen-manual-001-5ncj9 NAME READY STATUS RESTARTS AGE p2c-sitmapgen-manual-001-5ncj9 0/1 Completed 0 5m42s
Posted on 21/01/2021