【发布时间】:2018-07-08 10:14:25
【问题描述】:
我们设置了一个 Kubernetes 集群,其中包含网络抓取 cron 作业。一切似乎都很顺利,直到 cron 作业开始失败(例如,当站点结构发生变化并且我们的爬虫不再工作时)。看起来偶尔会有一些失败的 cron 作业会继续重试,直到它导致我们的集群崩溃。运行 kubectl get cronjobs(在集群故障之前)将显示为失败的作业运行的作业过多。
我已尝试按照here 中描述的关于 Pod 退避失败策略的已知问题的说明进行操作;但是,这似乎不起作用。
这是我们的配置供参考:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: scrape-al
spec:
schedule: '*/15 * * * *'
concurrencyPolicy: Allow
failedJobsHistoryLimit: 0
successfulJobsHistoryLimit: 0
jobTemplate:
metadata:
labels:
app: scrape
scrape: al
spec:
template:
spec:
containers:
- name: scrape-al
image: 'govhawk/openstates:1.3.1-beta'
command:
- /opt/openstates/openstates/pupa-scrape.sh
args:
- al bills --scrape
restartPolicy: Never
backoffLimit: 3
理想情况下,我们希望 cron 作业在 N 次重试后终止(例如,在 my-cron-job 失败 5 次后,类似 kubectl delete cronjob my-cron-job 的东西)。任何想法或建议将不胜感激。谢谢!
【问题讨论】:
标签: kubernetes