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