问题标签 [kubernetes-cronjob]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
37465 浏览

kubernetes - Kubernetes 中的 Cron 作业 - 连接到现有 Pod,执行脚本

我确定我遗漏了一些明显的东西。我查看了 Kubernetes 上的 ScheduledJobs / CronJobs 的文档,但我找不到按计划执行以下操作的方法:

  1. 连接到现有 Pod
  2. 执行脚本
  3. 断开

我有其他方法可以做到这一点,但他们感觉不对。

  1. 安排一个 cron 任务: kubectl exec -it $(kubectl get pods --selector=some-selector | head -1) /path/to/script

  2. 创建一个部署,其中包含一个包含应用程序的“Cron Pod”,以及许多只是应用程序的“非 Cron Pod”。Cron Pod 将使用不同的映像(一个计划了 cron 任务的映像)。

如果可能的话,我更喜欢使用 Kubernetes ScheduledJobs 来防止同一个 Job 一次运行多次,并且因为它让我觉得这是一种更合适的方式。

ScheduledJobs / CronJobs 有没有办法做到这一点?

http://kubernetes.io/docs/user-guide/cron-jobs/

0 投票
9 回答
119742 浏览

kubernetes - 如何自动删除由 CronJob 创建的已完成 Kubernetes 作业?

除了制作 CronJob 来清理已完成的作业之外,还有没有办法自动删除已完成的作业?

K8s作业文档指出,已完成作业的预期行为是让它们保持已完成状态,直到手动删除。因为我每天通过 CronJobs 运行数千个作业,我不想保留已完成的作业。

0 投票
1 回答
15972 浏览

cron - 从 Kubernetes Cron Job 调用端点

我有一个在 Kubernetes 集群的 Docker 容器中运行的 webapp。该应用程序有一个我想定期调用的端点。应用程序在多个节点/Pod 上运行,重要的是只有一个节点执行端点发起的任务。我查看了 Kubernetes Cron Jobs,但没有找到任何关于从 Kubernetes Cron Job 调用端点的文档。有人对解决这个问题有任何建议吗?在只有一个节点执行任务至关重要的集群中,您如何处理调度?

0 投票
1 回答
238 浏览

kubernetes - 更改 Kubernetes CronJob 上的 LAST SCHEDULE 日期格式

我正在阅读文档,不清楚如何更改LAST-SCHEDULE日期列的格式。对我来说,以小时( 4h )返回一个近似值:

但在文档中格式不同,显示日期、时间和时区:

如何更改格式LAST-SCHEDULE以返回有关上次计划日期的更多信息?

客户结果kubectl version

0 投票
1 回答
3249 浏览

kubernetes - Kubernetes Cronjob 中的环境变量

我有一个 nodejs 应用程序,每个月都会运行并从外部数据库中获取数据。它有一些环境变量。我可以在 Kubernetes 中将其作为 Cronjob 运行吗?是否可以定义 env 变量并从 cronjob 中的 secretfile 获取 env 变量?

0 投票
1 回答
6443 浏览

kubernetes - 是否有 kubernetes cronjob 类型允许单个容器映像的多个计划?

如果一个映像具有许多不同的可执行文件,那么在同一个 kubernetes 部署中是否可能有多个具有不同命令的 cron 条目在不同时间运行。

例如,对于一些名为“jolly-roger”的单个容器映像,我想安排以下 crontab,而不必在不同的存储库中管理 4 个单独的 kubernetes 应用程序。

0 投票
1 回答
977 浏览

php - Cpanel 中的 Cron 作业 - 时区问题

我有一个 php 文件,它在浏览器和 cron 作业部分都可以正常工作。我唯一面临的是我要运行该 cron 的时区未与服务器时区同步。

我想每天早上 7 点在印度时区运行 cron 作业。但是 cron 没有在上午 7 点运行,而是在其他时间运行,无法识别,因为它每次运行时都会发生变化。我正在使用 Godaddy 托管服务。任何帮助表示赞赏。

0 投票
1 回答
20339 浏览

kubernetes - Kubernetes cronjobs `startingDeadlineSeconds` 到底是什么意思?

在 Kubernetes cronjobs中,限制部分中指出

如果 CronJob 控制器在从 CronJob 开始时间到开始时间加上startingDeadlineSeconds 之前的一段时间内未运行或中断,或者如果跨度涵盖多个开始时间并且concurrencyPolicy 不允许并发,则作业可能无法运行。

我从中了解到的是,如果startingDeadlineSeconds设置为10并且 cronjob 在其预定时间由于某种原因无法启动,那么只要这些10秒还没有过去,它仍然可以尝试重新启动,但是,之后秒,10它肯定不会启动,这是正确的吗?

另外,如果我concurrencyPolicy设置为Forbid,如果 cronjob 尝试被调度,K8s 是否会将其视为失败,而此时已经有一个 cronjob 正在运行?

0 投票
2 回答
5495 浏览

kubernetes - 启用自动缩放后,GKE 不会缩放到/从 0

我想在我的 GKE 上运行 CronJob,以便每天执行批处理操作。理想的情况是我的集群在作业未运行时扩展到 0 个节点,并在每次满足计划时动态扩展到 1 个节点并在其上运行作业。

我首先尝试通过使用在kubernetes文档中找到的一个简单的 CronJob 来实现这一点,它只打印当前时间并终止。

我首先使用以下命令创建了一个集群:

然后,我创建了一个具有以下描述的 CronJob:

该作业计划每小时运行一次,并在终止前打印当前时间。

首先,我想创建具有 0 个节点的集群,但设置--num-nodes 0会导致错误。为什么会这样?请注意,我可以在创建集群后手动将集群缩减到 0 个节点。

其次,如果我的集群有 0 个节点,则不会安排作业,因为集群不会自动扩展到 1 个节点,而是会出现以下错误:

无法调度 pod:没有可用于调度 pod 的节点。

第三,如果我的集群有 1 个节点,作业会正常运行,但在那之后,集群不会缩减到 0 个节点,而是保留 1 个节点。我让我的集群运行了两个连续的作业,并且在两者之间没有缩小。我认为一小时应该足以让集群这样做。

我错过了什么?

编辑:我已经开始工作并在此处详细说明了我的解决方案。

0 投票
1 回答
486 浏览

linux - 尽管语法看似准确,但仍从 crontab 中得到糟糕的分钟错误

不确定发生了什么,因为这个 cronjob 非常简单。我希望我的 cronjob 每 5 分钟运行一次。下面是整个脚本(memory.sh)。

下面是通过 crontab 要求运行的时间表。

我已经复制了 crontab 并crontab memory.sh在我的用户名和 root 下运行,但每次我得到相同的错误:

内存.sh

crontab

目录

在此处输入图像描述