2

我有一个在 kubernetes 集群中运行的后端 nodeJS 应用程序。现在我想每个月运行两个 cron 作业。cron 作业位于 JS 文件中。如何使用 Kubernetes 创建一个在每个月运行该服务的 pod 中运行这些 JS 文件的作业?
此链接基本了解它的工作原理,但我对如何在特定服务和特定 pod 上运行它有点困惑
https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/ #writing-a-cron-job-spec

4

1 回答 1

4

不幸的是,您不能在应用程序的容器内运行CronJob

您唯一能做的就是创建一个容器,该容器将包含您的 cronjob 和运行它所需的环境,并安排通过 CronJob 运行该 pod。

下面是一个配置示例:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: hello
spec:
  schedule: "*/1 * * * *" # syntax is a same as in system cron jobs
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: image_with_cronjob_code # here is an image with your cronjob
            args:
            - /bin/sh
            - -c
            - date; echo Hello from the Kubernetes cluster
          restartPolicy: OnFailure
于 2018-03-22T16:40:41.040 回答