是否可以将Kubernetes Cronjob status.lastScheduleTime时间戳传递给计划作业的容器?

时间:2019-09-20 11:33:14

标签: kubernetes kubernetes-cronjob

我有一个cronjob应该处理自上次操作以来发生的事件,为此我使用DB来保留此时间戳,我的问题是是否可以直接传递Kubernetes status.lastScheduleTime 进入cronjob对象作为环境变量?

1 个答案:

答案 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