新聞中心
這里有您想知道的互聯(lián)網營銷解決方案
kubernetes實踐之五十八:CronJob
一: 簡介
CronJob即定時任務,就類似于Linux系統(tǒng)的crontab,在指定的時間周期運行指定的任務。
1.在給定時間點只運行一次
2.周期性地在給定時間點運行
二:CronJob定義
1.spec.schedule指定任務運行周期,格式同Cron
2.spec.jobTemplate指定需要運行的任務,格式同Job
3.spec.startingDeadlineSeconds指定任務開始的截止期限
4.spec.concurrencyPolicy指定任務的并發(fā)策略,支持Allow、Forbid和Replace三個選項
三:示例
1. kubectl create -f croJob.yaml
2.kubectl get cronjob hello
3.kubectl get jobs --watch 監(jiān)控job執(zhí)行情況
四:其它
1.Cron Job在每次調度運行時間內大概會創(chuàng)建一個Job對象。我們之所以說大概是因為在特定的環(huán)境下可能會創(chuàng)建兩個 Job,或者一個 Job 都沒創(chuàng)建。我們嘗試少發(fā)生這種情況,但卻不能完全避免。因此,創(chuàng)建 Job 操作應該是 冪等的。
Job 根據它所創(chuàng)建的 Pod 的并行度,負責重試創(chuàng)建 Pod,并就決定這一組 Pod 的成功或失敗。Cron Job 根本就不會去檢查 Pod。
2.一旦不再需要 Cron Job,簡單地可以使用 kubectl 命令刪除它:kubectl delete cronjob hello。 這將會終止正在創(chuàng)建的 Job。然而,運行中的 Job 將不會被終止,不會刪除 Job 或 它們的 Pod。為了清理那些 Job 和 Pod,需要列出該 Cron Job 創(chuàng)建的全部 Job,然后刪除它們。
3.一旦 Job 被刪除,由 Job 創(chuàng)建的 Pod 也會被刪除。注意,所有由名稱為 “hello” 的 Cron Job 創(chuàng)建的 Job 會以前綴字符串 “hello-” 進行命名。如果想要刪除當前 Namespace 中的所有 Job,可以通過命令 kubectl delete jobs --all 立刻刪除它們。
當前名稱:kubernetes實踐之五十八:CronJob
鏈接地址:http://www.ef60e0e.cn/article/joiooe.html
CronJob即定時任務,就類似于Linux系統(tǒng)的crontab,在指定的時間周期運行指定的任務。
1.在給定時間點只運行一次
2.周期性地在給定時間點運行
二:CronJob定義
1.spec.schedule指定任務運行周期,格式同Cron
2.spec.jobTemplate指定需要運行的任務,格式同Job
3.spec.startingDeadlineSeconds指定任務開始的截止期限
4.spec.concurrencyPolicy指定任務的并發(fā)策略,支持Allow、Forbid和Replace三個選項
三:示例
點擊(此處)折疊或打開
創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,先為東區(qū)等服務建站,東區(qū)等地企業(yè),進行企業(yè)商務咨詢服務。為東區(qū)企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
-
apiVersion: batch/v1beta1
-
kind: CronJob
-
metadata:
-
name: hello
-
spec:
-
schedule: "*/1 * * * *"
-
jobTemplate:
-
spec:
-
template:
-
spec:
-
containers:
-
- name: hello
-
image: busybox
-
args:
-
- /bin/sh
-
- -c
-
- date; echo Hello from the Kubernetes cluster
- restartPolicy: OnFailure
2.kubectl get cronjob hello
3.kubectl get jobs --watch 監(jiān)控job執(zhí)行情況
四:其它
1.Cron Job在每次調度運行時間內大概會創(chuàng)建一個Job對象。我們之所以說大概是因為在特定的環(huán)境下可能會創(chuàng)建兩個 Job,或者一個 Job 都沒創(chuàng)建。我們嘗試少發(fā)生這種情況,但卻不能完全避免。因此,創(chuàng)建 Job 操作應該是 冪等的。
Job 根據它所創(chuàng)建的 Pod 的并行度,負責重試創(chuàng)建 Pod,并就決定這一組 Pod 的成功或失敗。Cron Job 根本就不會去檢查 Pod。
2.一旦不再需要 Cron Job,簡單地可以使用 kubectl 命令刪除它:kubectl delete cronjob hello。 這將會終止正在創(chuàng)建的 Job。然而,運行中的 Job 將不會被終止,不會刪除 Job 或 它們的 Pod。為了清理那些 Job 和 Pod,需要列出該 Cron Job 創(chuàng)建的全部 Job,然后刪除它們。
當前名稱:kubernetes實踐之五十八:CronJob
鏈接地址:http://www.ef60e0e.cn/article/joiooe.html