将当前日期传递给kubernetes cronjob

将当前日期传递给kubernetes cronjob,kubernetes,cron,Kubernetes,Cron,我有一个docker映像,它从\u DATE开始接收一个env var name 我已经创建了一个cronjob来运行该容器,我想将当前日期传递给它 我怎么做 试着这样做,我得到了文本字符串date-d“昨天23:59” 您可以通过覆盖容器命令并设置环境变量来实现。 在您的情况下,它看起来像: containers: - name: my-cron image: nginx #imagePullPolicy:

我有一个docker映像,它从\u DATE开始接收一个env var name

我已经创建了一个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           
注意:

Nginx
docker 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