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

是否可以将Kubernetes Cronjob status.lastScheduleTime时间戳传递给计划作业的容器?,kubernetes,kubernetes-cronjob,Kubernetes,Kubernetes Cronjob,我有一个cronjob,它应该处理自上次操作以来发生的事件,因为我使用DB来持久化这个时间戳,我的问题是是否可以直接将Kubernetesstatus.lastScheduleTime作为环境变量传递到cronjob对象中 我认为最简单的方法是通过kubectl set env命令,将所需的状态注入特定的模板对象。lastScheduleTime字段作为变量LAST\u SCHEDULE: kubectl set env cronjob/name LAST_SCHEDULE=$(kubectl

我有一个cronjob,它应该处理自上次操作以来发生的事件,因为我使用DB来持久化这个时间戳,我的问题是是否可以直接将Kubernetesstatus.lastScheduleTime作为环境变量传递到cronjob对象中

我认为最简单的方法是通过
kubectl set env
命令,将所需的
状态注入特定的模板对象。lastScheduleTime
字段作为变量
LAST\u SCHEDULE

kubectl set env cronjob/name LAST_SCHEDULE=$(kubectl get cronjob name-o jsonpath='{.status.lastScheduleTime}')


您还可以找到一种更全面的方法来实现
Cronjob
资源修补,通过或通过
postStart
/
preStop

为相应模板中的目标环境变量提供最新的
lastScheduleTime
值。感谢您提供了详细的答案,但解决方案仍然有效(检索lastScheduleTime和设置lastScheduleTime的命令是在postStart中提供的还是在init容器中提供的)我需要知道是否可以运行kubectl命令来修补容器/吊舱内的资源?…我的意思是,不必卷曲k8s API和验证就可以访问容器所在的同一集群,感谢您确实可以在容器内安装
kubectl
命令行工具,并为其提供相应的
kubeconfig
文件,该文件将指向目标k8s群集,例如,查看此堆栈。
env:
- name: LAST_SCHEDULE
  value: "2019-09-23T08:56:00Z"