[英]Pass current date to kubernetes cronjob
我有一個接收環境變量名稱SINCE_DATE
的 docker 圖像。
我創建了一個 cronjob 來運行該容器,並且我想將當前日期傳遞給它。
我該怎么做?
嘗試這個,我得到文字字符串date -d "yesterday 23:59"
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: my-cron
spec:
schedule: "* * * * *"
jobTemplate:
spec:
template:
spec:
restartPolicy: Never
containers:
- name: my-cron
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: SINCE_DATE
value: $(date -d "yesterday 23:59")
您可以通過overwriting container
入口點命令並設置environment variable
來實現它。 在您的情況下,它看起來像:
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
在這個 Stack question中可以找到非常相似的用例
這個解決方案是什么?
它將使用相同的腳本overwrite
容器ENTRYPOINT
中設置的默認腳本,但預先設置動態環境變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.