【问题标题】:Pass date command as parameter to kubernetes cronjob将日期命令作为参数传递给 kubernetes cronjob
【发布时间】:2019-08-05 18:47:09
【问题描述】:

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

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 任务。

【问题讨论】:

    标签: kubernetes cron luigi


    【解决方案1】:

    我不确定你要存档什么,但这应该可以:

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

    【讨论】:

    • 完美!谢谢@FL3SH
    猜你喜欢
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 2016-05-31
    • 2020-03-18
    • 1970-01-01
    • 2012-03-25
    相关资源
    最近更新 更多