3

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

4

1 回答 1

3

我看到通过命令实现目标的最简单方法,将所需字段作为环境变量kubectl set env注入特定的Cronjob模板对象:status.lastScheduleTimeLAST_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"

您还可以找到一种更全面的方法来实现资源修补,通过Init Containers或通过/ handlersCronjob在对应的模板中提供具有最新lastScheduleTime值的目标环境变量。postStartpreStop

于 2019-09-23T09:18:34.530 回答