Reputation: 265
I have a cronjob that should process events occurred since the last operation, for that I use DB to persist this timestamp, my question is whether or not it is possible to directly pass Kubernetes status.lastScheduleTime into the cronjob object as an environment variable?
Upvotes: 3
Views: 1844
Reputation: 5243
I see the easiest way accomplish your goal via kubectl set env
command, injecting into the particular Cronjob template object the desired status.lastScheduleTime
field as environment variable LAST_SCHEDULE
:
kubectl set env cronjob/name LAST_SCHEDULE=$(kubectl get cronjob name -o jsonpath='{.status.lastScheduleTime}')
env:
- name: LAST_SCHEDULE
value: "2019-09-23T08:56:00Z"
You may also find a more comprehensive way achieving Cronjob
resource patching, supplying target environment variable in the corresponded template with most recent lastScheduleTime
value via Init Containers or through postStart
/preStop
handlers.
Upvotes: 3