Saya ingin menjalankan migrasi data melalui cronjob Kubernetes menggunakan pipa Luigi. Tugas luigi saya menerima parameter --start yang ingin saya lewati melalui perintah 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 tidak dapat mengenali $(date +%Y-%m-%dT%H) sebagai skrip bash dan meneruskan perintah ini sebagai string ke tugas luigi.

0
Pedro Martins 5 Agustus 2019, 21:47

1 menjawab

Jawaban Terbaik

Saya tidak yakin apa yang akan Anda arsipkan, tetapi ini akan berhasil:

      - command:
        - sh
        - -c
        - 'exec luigi --module module.task Migrate10Days --start $(date +%Y-%m-%dT%H) --workers --workers'
2
FL3SH 5 Agustus 2019, 18:55