我有一个cronjob应该处理自上次操作以来发生的事件,为此我使用DB来保留此时间戳,我的问题是是否可以直接传递Kubernetes status.lastScheduleTime 进入cronjob对象作为环境变量?
答案 0 :(得分:1)
我看到了通过kubectl set env
命令完成目标的最简单方法,将所需的status.lastScheduleTime
字段作为Cronjob变量LAST_SCHEDULE
注入到特定的environment模板对象中:
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"
您可能还会找到一种更全面的方法来实现Cronjob
资源修补,通过 Init Containers 在相应模板中为目标环境变量提供最新的lastScheduleTime
值。或通过postStart
/ preStop
handlers 。