问题标签 [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.
cron - 在 OpenShift 在线创建 Cron 作业会导致:admission webhook "validate.cron.create" denied the request: Prohibited resource for this cluster
我正在学习 Openshift Online,我尝试从 UI 或 CLI 创建一个 cron 作业,都导致以下错误:
来自服务器的错误:admission webhook “validate.cron.create”拒绝了请求:此集群的禁止资源。
我检查了该帐户的权限,它在 cronjobs 上具有 CRUD 的管理员权限。
我使用与文档相同的示例: https ://docs.openshift.com/container-platform/3.5/dev_guide/cron_jobs.html
kubernetes - 使用“kubectl”创建资源(cronjob)样板
我正在学习 k8s,我很想知道我们如何为cronjob创建样板。
我知道它曾经是followwoing。
kubectl run mycron --schedule "1 * * * *" --image nginx -o yaml --dry-run
.
即使它仍然输出样板,但它说如下。
kubectl run --generator=cronjob/v1beta1 已弃用,将在未来版本中删除。请改用 kubectl create。
但是我找不到如何使用kubectl create
. 有任何想法吗?
kubernetes - 有没有办法通过字符串值过滤指标,其中一部分来自普罗米修斯查询中另一个查询的结果?
我想在最近的 cronjob 作业失败时收到警报。expr
kube_job_status_failed{job_name=~"cronjobname.*"}==1
大部分时间都有效。但是如果一个作业失败并保留,即使下一个作业成功,我仍然会收到警报,因为prometheus中有两条记录,一条是失败记录,另一条是成功记录。
我发现我可以从中获取最新的作业时间戳kube_cronjob_status_last_schedule_time{cronjob="cronjobname"}
,然后用于kube_job_status_failed{job_name="cronjobname-TIMESTAMP"}
查询最后的作业状态。
我想知道我们是否有办法在一个查询中连接第一个查询jobname
的结果并在第二个查询中过滤?喜欢
kube_job_status_failed{job_name=string_concatenate("cronjobname-", kube_cronjob_status_last_schedule_time{cronjob="cronjobname"})}
kubernetes - 是否可以将 Kubernetes Cronjob status.lastScheduleTime 时间戳传递给计划作业的容器?
我有一个 cronjob 应该处理自上次操作以来发生的事件,因为我使用 DB 来保存这个时间戳,我的问题是是否可以将 Kubernetes status.lastScheduleTime作为环境变量直接传递给 cronjob 对象?
php - 使用 id 运行 cron 作业
嗨,美好的一天,我正在使用 cron 作业执行任务,这是我的 cronjob 脚本就像 cronjob.php?cron=1 但该链接不起作用我收到电子邮件,如 cron 无法打开输入文件为什么 cron 不获取 id
kubernetes - 将动态格式化的日期时间传递给 K8s 容器配置
我有一个CronJob
在 Kubernetes 的容器中运行一个进程。
此过程采用由 a--since
和--until
标志定义的时间窗口。此时间窗口需要在容器启动时间(触发 cron 时)定义,并且是当前时间的函数。运行此过程的示例是:
因此,对于上面的示例,我希望时间窗口从 1 小时前到未来 1 小时。Kubernetes 中有没有办法将格式化的日期时间作为命令参数传递给进程?
我正在尝试做的一个例子是以下配置:
执行此操作时,文字字符串"$(date -v -1H +"%Y-%m-%dT%H:%M:%SZ")"
将作为--since
标志传入。
这样的事情可能吗?如果是这样,我会怎么做?
django - 重复使用部署模板运行 kubectl cronjob
我有一个带有 2 个容器的 pod:一个 django 网络服务器和一个云 sql 代理。
我想每天运行一个 cronjob(一些 django manage.py 命令)。理想情况下,我希望通过复制已经在其中运行的网络服务器,在我正在运行的一个 pod 中创建一个新容器。
- 找到吊舱 A
- 从 pod A 复制 django 容器
- 在 pod A 中启动新的 django 容器
- 在 pod A 的新容器中执行命令
- 关闭 pod A 的新容器
据我了解,执行 kubernetes CronJob 将创建一个自己的新 pod。这意味着我需要复制所有内容,包括卷和代理容器。我尝试手动执行此操作(通过将部署中的所有 pod conf 复制粘贴到 CronJob conf 中)
但是 cloud_sql 代理无法在 Cronjob conf 中连接:
这些错误真的很令人困惑,所以我坚持这个测试。
可能有人知道让 cronjob 运行重用现有容器的干净方法吗?
kubernetes - betav1 的 Kubernetes CronJob 稳定版何时发布
我正在使用 Kubernetes cron 作业进行一些调度,我可以看到 kubernetes cron 作业仍处于 beta 版本我正在使用 Kubernetes 版本:v1.16.0 请建议我使用 v1beta1 版本进行生产可以吗?
mysql - 无法在 GCP 存储中创建 MySQL 数据库备份
我们使用 mysql 数据库在 k8s(GCP) 中部署一个 laravel 项目。现在我想在 cronjob 的帮助下不时备份这个数据库,我关注了一篇文章 ,但我无法创建备份文件。但是,根据文章,我们需要在GCP中创建存储桶和服务帐户
它工作正常,但存储桶中没有备份文件。
cronjob.yaml 文件
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: backup-cronjob
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: backup-container
image: gcr.io/thereport/abcd
env:
- name: DB_NAME
valueFrom:
configMapKeyRef:
name: backup-configmap
key: db
- name: GCS_BUCKET
valueFrom:
configMapKeyRef:
name: backup-configmap
key: gcs-bucket
- name: DB_HOST
valueFrom:
secretKeyRef:
name: backup
key: db_host
- name: DB_USER
valueFrom:
secretKeyRef:
name: backup
key: username
- name: DB_PASS
valueFrom:
secretKeyRef:
name: backup
key: password
- name: GCS_SA
valueFrom:
secretKeyRef:
name: backup
key: thereport-541be75e66dd.json
args:
- /bin/bash
- -c
- mysqldump --u root --p"root" homestead > trydata.sql; gcloud config set project thereport; gcloud auth activate-service-account --key-file backup; gsutil cp /trydata.sql gs://backup-buck
kubernetes - 一旦最近的作业通过,如何清理失败的 CronJob 生成的作业
我正在使用 Kubernetes CronJobs 运行管理任务,并且当使用kube-state-metrics生成的作业之一失败时,Prometheus 会发出警报:
我想拥有它,以便当最近的作业通过时,清理失败的作业,以便警报停止触发。
CronJob 资源本身是否支持这种行为?
解决方法是让作业清理失败的作业作为最后一步,或者创建一个更复杂的警报规则以将最近的作业作为最终状态,但它们不是 IMO 最好的解决方案。
Kubernetes 版本:v1.15.1