您好,登錄后才能下訂單哦!
如何進行定時執行Job,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
Linux 中有 cron 程序定時執行任務,Kubernetes 的 CronJob 提供了類似的功能,可以定時執行 Job。CronJob 配置文件示例如下:
① batch/v2alpha1
是當前 CronJob 的 apiVersion
。
② 指明當前資源的類型為 CronJob
。
③ schedule
指定什么時候運行 Job,其格式與 Linux cron 一致。這里 */1 * * * *
的含義是每一分鐘啟動一次。
④ jobTemplate
定義 Job 的模板,格式與前面 Job 一致。
接下來通過 kubectl apply
創建 CronJob。
kube-apiserver 本身也是個 Pod,在啟動參數中加上 --runtime-config=batch/v2alpha1=true
即可。
然后重啟 kubelet 服務:
systemctl restart kubelet.service
kubelet 會重啟 kube-apiserver Pod。通過 kubectl api-versions
確認 kube-apiserver 現在已經支持 batch/v2alpha1
:
這次成功了。通過 kubectl get cronjob
查看 CronJob 的狀態:
可以看到每隔一分鐘就會啟動一個 Job。執行 kubectl logs
可查看某個 Job 的運行日志
運行容器化應用是 Kubernetes 最重要的核心功能。為滿足不同的業務需要,Kubernetes 提供了多種 Controller,包括 Deployment、DaemonSet、Job、CronJob 等。本章我們通過實踐詳細學習了這些 Controller,并討論了它們的特性和應用場景。
看完上述內容,你們掌握如何進行定時執行Job的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。