将当前日期传递给kubernetes cronjob
我有一个docker映像,它从\u DATE开始接收一个env var name将当前日期传递给kubernetes cronjob,kubernetes,cron,Kubernetes,Cron,我有一个docker映像,它从\u DATE开始接收一个env var name 我已经创建了一个cronjob来运行该容器,我想将当前日期传递给它 我怎么做 试着这样做,我得到了文本字符串date-d“昨天23:59” 您可以通过覆盖容器命令并设置环境变量来实现。 在您的情况下,它看起来像: containers: - name: my-cron image: nginx #imagePullPolicy:
我已经创建了一个cronjob来运行该容器,我想将当前日期传递给它
我怎么做
试着这样做,我得到了文本字符串date-d“昨天23:59”
您可以通过覆盖容器
命令并设置环境变量
来实现。
在您的情况下,它看起来像:
containers:
- name: my-cron
image: nginx
#imagePullPolicy: {{ .Values.image.pullPolicy }}
command:
- bash
- -c
- |
export SINCE_DATE=`date -d "yesterday 23:59"`
exec /docker-entrypoint.sh
注意:
Nginxdocker entrypoint.sh
位于/
中如果您的图像有不同的路径,您应该使用它,例如exec/usr/local/bin/docker entrypoint.sh
在中可以找到非常相似的用例
这个解决方案是什么?
它将覆盖容器中设置的默认脚本ENTRYPOINT
,使用相同的脚本,但事先动态设置了环境变量。如果您使用的是helm,。但是helm只是第一次构建cronjob对象,它只是用我创建作业的日期填充它。。。我想为每一个新的跑步项目定义它。你能详细说明你想要实现什么以及如何实现吗?当你将容器装箱时,它赢得了时间(取决于你的环境,它的本地环境、云、虚拟)时间可能会有点不同。更多细节。你的cronjob将每分钟创建一个pod。您想在所有时间传递一个值,还是每分钟传递一个日期值?每分钟传递一个日期值。我想将自\u日期
作为当前时间传递。每分钟容器都会执行一个新的(更新的)(自\u日期起)
containers:
- name: my-cron
image: nginx
#imagePullPolicy: {{ .Values.image.pullPolicy }}
command:
- bash
- -c
- |
export SINCE_DATE=`date -d "yesterday 23:59"`
exec /docker-entrypoint.sh