将日期命令作为参数传递给 kubernetes cronjob

Pass date command as parameter to kubernetes cronjob

我想使用 Luigi 管道通过 Kubernetes cronjob 执行数据迁移。我的 luigi 任务收到 --start 我想通过 cronjob 命令传递的参数。

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: migration
spec:
  schedule: "0 0 */1 * *"
  jobTemplate:
    spec:
      template:
        spec:
          serviceAccountName: spark
          containers:
          - name: migratecronjob
            image: latest-image
            imagePullPolicy: Always
            env:
              - name: TAG
                value: latest-image
              - name: MIGRATION_TAG
                value: migration-v05
            command:
              -  "luigi"
              - "--module" 
              - "module.task" 
              - "Migrate10Days"
              - "--start"
              - $(date +%Y-%m-%dT%H)
              - "--workers"
              - "10"
          restartPolicy: OnFailure

cronjob 无法将 $(date +%Y-%m-%dT%H) 识别为 bash 脚本并将此命令作为字符串传递给 luigi 任务。

我不确定你要归档什么,但这应该有效:

      - command:
        - sh
        - -c
        - 'exec luigi --module module.task Migrate10Days --start $(date +%Y-%m-%dT%H) --workers --workers'