【发布时间】:2019-04-15 17:46:53
【问题描述】:
我正在尝试使用 Kubernetes 运行 cron 作业。该作业执行一个程序,该程序根据作业的预定开始时间执行一些计算。我的程序如何在执行期间访问该值?
【问题讨论】:
标签: kubernetes kubernetes-cronjob
我正在尝试使用 Kubernetes 运行 cron 作业。该作业执行一个程序,该程序根据作业的预定开始时间执行一些计算。我的程序如何在执行期间访问该值?
【问题讨论】:
标签: kubernetes kubernetes-cronjob
选项 1(最简单):将相同的值放入作业容器环境变量。我假设您使用 helm 或类似机制安装,因此在 2 个地方重用 schedule 变量应该很容易。
选项 2:使用 Role、RoleBinding 和 ServiceAccount 的组合,然后使用 kubectl / language k8s client 检索 cronjob(如果命名空间中有多个,则需要知道其名称)并从其参数中获取时间表。
选项 3:https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/ 这是 1 的变体,但使用了 resourceFieldRef。不确定您是否可以参考 cronjob 资源 :(
【讨论】: