Рубрики
Uncategorized

Выберите оптимальный вариант для запуска запланированных заданий cron на основе контейнера …

Автор оригинала: Edward James.

… … … …

… … …

# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday;
# │ │ │ │ │                                 7 is also Sunday on some systems)
# * * * * * 

… … …

… … …

… … …

* * * * * root echo "Hello world" >> /var/log/cron.log 2>&1
# Cron requires newline characters at the end of each entry, so leave this here

RUN apt-get update && apt-get -y install cron

ADD crontab /etc/cron.d/my-cron-file
RUN chmod 0644 /etc/cron.d/my-cron-file
RUN crontab /etc/cron.d/my-cron-file
RUN touch /var/log/cron.log

CMD cron && tail -f /var/log/cron.log

… … … …

… …

… …

apiVersion: batch/v1beta1
  kind: CronJob
  metadata:
    name: hello
  spec:
    schedule: "*/1 * * * *"
    jobTemplate:
      spec:
        template:
          spec:
            containers:
              - name: hello
                image: busybox
                imagePullPolicy: IfNotPresent
                command:
                  - /bin/sh
                  - -c
                  - date; echo Hello from the Kubernetes cluster
                restartPolicy: OnFailure

… …

… …

… … … …

… … … …

cronenberg ./config/cron-jobs.yml

… …

# This is just a normal job that runs every minute
- name: hello-world
  command: echo "Hello World"
  when: "* * * * *"

… …

  • … … …
  • … …
  • … …

Оригинал: «https://www.codementor.io/@devgraph/running-cron-jobs-in-container-environments-1irf6kx0gr»