溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

kubernetes實(shí)踐之五十八:CronJob

發(fā)布時(shí)間:2020-08-19 01:16:06 來(lái)源:ITPUB博客 閱讀:207 作者:百聯(lián)達(dá) 欄目:云計(jì)算
一: 簡(jiǎn)介
CronJob即定時(shí)任務(wù),就類(lèi)似于Linux系統(tǒng)的crontab,在指定的時(shí)間周期運(yùn)行指定的任務(wù)。
1.在給定時(shí)間點(diǎn)只運(yùn)行一次
2.
周期性地在給定時(shí)間點(diǎn)運(yùn)行

二:CronJob定義
1
.spec.schedule指定任務(wù)運(yùn)行周期,格式同Cron
2.spec.jobTemplate指定需要運(yùn)行的任務(wù),格式同Job
3.spec.startingDeadlineSeconds指定任務(wù)開(kāi)始的截止期限
4
.spec.concurrencyPolicy指定任務(wù)的并發(fā)策略,支持Allow、Forbid和Replace三個(gè)選項(xiàng)

三:示例

點(diǎn)擊(此處)折疊或打開(kāi)

  1. apiVersion: batch/v1beta1
  2. kind: CronJob
  3. metadata:
  4.   name: hello
  5. spec:
  6.   schedule: "*/1 * * * *"
  7.   jobTemplate:
  8.     spec:
  9.       template:
  10.         spec:
  11.           containers:
  12.           - name: hello
  13.             image: busybox
  14.             args:
  15.             - /bin/sh
  16.             - -c
  17.             - date; echo Hello from the Kubernetes cluster
  18.           restartPolicy: OnFailure
1. kubectl create -f croJob.yaml
2. kubectl get cronjob hello
3.
kubectl get jobs --watch  監(jiān)控job執(zhí)行情況

四:其它
1.Cron Job在每次調(diào)度運(yùn)行時(shí)間內(nèi)大概會(huì)創(chuàng)建一個(gè)Job對(duì)象。我們之所以說(shuō)大概是因?yàn)樵谔囟ǖ沫h(huán)境下可能會(huì)創(chuàng)建兩個(gè) Job,或者一個(gè) Job 都沒(méi)創(chuàng)建。我們嘗試少發(fā)生這種情況,但卻不能完全避免。因此,創(chuàng)建 Job 操作應(yīng)該是 冪等的。
Job 根據(jù)它所創(chuàng)建的 Pod 的并行度,負(fù)責(zé)重試創(chuàng)建 Pod,并就決定這一組 Pod 的成功或失敗。Cron Job 根本就不會(huì)去檢查 Pod。

2.一旦不再需要 Cron Job,簡(jiǎn)單地可以使用 kubectl 命令刪除它:kubectl delete cronjob hello。 這將會(huì)終止正在創(chuàng)建的 Job。然而,運(yùn)行中的 Job 將不會(huì)被終止,不會(huì)刪除 Job 或 它們的 Pod。為了清理那些 Job 和 Pod,需要列出該 Cron Job 創(chuàng)建的全部 Job,然后刪除它們。

3.一旦 Job 被刪除,由 Job 創(chuàng)建的 Pod 也會(huì)被刪除。注意,所有由名稱(chēng)為 “hello” 的 Cron Job 創(chuàng)建的 Job 會(huì)以前綴字符串 “hello-” 進(jìn)行命名。如果想要?jiǎng)h除當(dāng)前 Namespace 中的所有 Job,可以通過(guò)命令 kubectl delete jobs --all 立刻刪除它們。
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI