chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何創(chuàng)建Kubernetes jobs和cronjobs?

馬哥Linux運(yùn)維 ? 來源:PHP開源社區(qū) ? 作者:PHP開源社區(qū) ? 2021-06-15 14:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Kubernetes jobs主要是針對(duì)短時(shí)和批量的工作負(fù)載。它是為了結(jié)束而運(yùn)行的,而不是像deployment、replicasets、replication controllers和DaemonSets等其他對(duì)象那樣持續(xù)運(yùn)行。

本文將介紹如何創(chuàng)建Kubernetes jobs和cronjobs,以及一些小技巧。

Kubernetes Jobs會(huì)一直運(yùn)行到Job中指定的任務(wù)完成。也就是說,如果pods給出退出代碼0,那么Job就會(huì)退出。而在正常的Kubernetes中,無論退出代碼是什么,deployment對(duì)象在終止或出現(xiàn)錯(cuò)誤時(shí)都會(huì)創(chuàng)建新的pod,以保持deployment的理想狀態(tài)。

在job運(yùn)行過程中,如果托管pod的節(jié)點(diǎn)發(fā)生故障,Job pod將被自動(dòng)重新安排到另一個(gè)節(jié)點(diǎn)。

Kubernetes Jobs用例????

對(duì)于Kubernetes Jobs最好的用例實(shí)踐是:

1.批處理任務(wù):比如說你想每天運(yùn)行一次批處理任務(wù),或者在指定日程中運(yùn)行。它可能是像從存儲(chǔ)庫或數(shù)據(jù)庫中讀取文件那樣,將它們分配給一個(gè)服務(wù)來處理文件。

2.運(yùn)維/ad-hoc任務(wù):比如你想要運(yùn)行一個(gè)腳本/代碼,該腳本/代碼會(huì)運(yùn)行一個(gè)數(shù)據(jù)庫清理活動(dòng),甚至備份一個(gè)Kubernetes集群。

如何創(chuàng)建Kubernetes Job

在本例中,我們將使用Ubuntu 容器來運(yùn)行一個(gè)帶有for循環(huán)的shell腳本,并根據(jù)你傳遞給容器的參數(shù)來呼應(yīng)消息。這個(gè)參數(shù)是一個(gè)數(shù)字,決定shell腳本循環(huán)應(yīng)該運(yùn)行多少次。

例如,如果你傳遞了參數(shù)100,那么shell腳本將呼應(yīng)消息100次然后容器將會(huì)退出。

你可以訪問以下鏈接查看Dockerfile和shell腳本:

https://github.com/devopscube/Kubernetes-jobs-example/tree/master/Docker

我們先從一個(gè)簡單設(shè)置的job開始。

Step1:使用自定義的Docker鏡像創(chuàng)建一個(gè)job.yaml文件,命令參數(shù)為100。100將會(huì)作為參數(shù)傳遞給docker ENTRYPOINT腳本。

apiVersion:batch/v1

Step2 :使用kubectl創(chuàng)建一個(gè)job.yaml文件的job

kubectlapply-fjob.yam

Step3:使用kubectl檢查job的狀態(tài)

kubectlgetjobs

Step4:使用kubectl獲取pod列表

kubectlgetpo

Step5:使用kubectl獲取job pod 日志。使用你在輸出中看到的Pod名稱替換原本的Pod名稱。

kubectllogskubernetes-job-example-bc7s9-f

你應(yīng)該看到如下輸出:

并行運(yùn)行多Job pods

當(dāng)一個(gè)job被部署后,你可以讓它在多個(gè)Pod上并行運(yùn)行。例如,在一個(gè)job中如果你想要運(yùn)行6個(gè) pods,同時(shí)并行運(yùn)行2個(gè)pods,你需要添加以下2個(gè)參數(shù)到你的job manifets中:

completions:6

以下是帶有那些參數(shù)的manifest:

apiVersion:batch/v1為Kubernetes Job生成隨機(jī)名稱

你不能從一個(gè)job manifest文件中創(chuàng)建多個(gè)job,因?yàn)镵ubernetes會(huì)報(bào)錯(cuò),說存在一個(gè)同名的job。為了規(guī)避這個(gè)問題,你可以在元數(shù)據(jù)中添加 generateName 名稱參數(shù)。

例如:

apiVersion:batch/v1

在上方示例中,每次你運(yùn)行該manifest,job將以kube-job-作為前綴,后面跟著一個(gè)隨機(jī)字符串來創(chuàng)建。

如何創(chuàng)建Kubernetes CronJob

如果你想按照特定的時(shí)間表運(yùn)行批處理job,例如,每2個(gè)小時(shí)運(yùn)行一次。你可以用cron表達(dá)式創(chuàng)建一個(gè)Kubernetes cronjob。Job會(huì)按照你在job中提到的時(shí)間表自動(dòng)啟動(dòng)。

下面我們將介紹如何指定一個(gè)cron計(jì)劃,你可以使用crontab生成器(https://crontab-generator.org/)來生成自己的時(shí)間計(jì)劃。

schedule:"0,15,30,45****"

下圖顯示了Kubernetes cronjob schedule語法。

pYYBAGDIRC-AYzB5AAB8dMpIrKo604.jpg

來源:kubernetes.io

如果我們以cronjob的形式每15分鐘運(yùn)行一次我們之前的job,manifest應(yīng)該如下所示。創(chuàng)建一個(gè)名為cron-job.yaml的文件,并復(fù)制以下manifest:

apiVersion:batch/v1beta1

讓我們使用kubectl部署cronjob。

kubectlcreate-fcron-job.yaml

列出cronjobs:

kubectlgetcronjobs

你可以列出cronjob pod并從處于運(yùn)行狀態(tài)或完成狀態(tài)的pods中獲取日志來檢查Cronjob日志。

手動(dòng)運(yùn)行Kubernetes CronJob

在某些情況下,你可能希望以臨時(shí)的方式執(zhí)行cronjob。你可以通過從現(xiàn)有的cronjob創(chuàng)建一個(gè)job來實(shí)現(xiàn)。

例如,如果你想手動(dòng)觸發(fā)一個(gè)cronjob,我們應(yīng)該這樣做:

kubectlcreatejob--from=cronjob/kubernetes-cron-jobmanual-cron-job

--from=cronjob/kubernetes-cron-job將復(fù)制cronjob模板并創(chuàng)建一個(gè)名為manual-cron-job的job。

Kubernetes Job的關(guān)鍵參數(shù)

根據(jù)你的需求,你還可以使用kubernetes jobs/cronjobs的幾個(gè)關(guān)鍵參數(shù):

1.failedJobHistoryLimit & successfulJobsHistoryLimit:根據(jù)你提供的保留數(shù)量刪除失敗和成功的job歷史記錄。當(dāng)你嘗試列出job時(shí),這對(duì)于減少所有失敗的條目非常有用。例如:

2.backoffLimit:如果你的Pod失敗,重試的總次數(shù)。

3.activeDeadlineSeconds:如果你想對(duì)cronjob的運(yùn)行時(shí)間進(jìn)行硬性限制,可以使用此參數(shù)。例如,如果你想只運(yùn)行1分鐘的cronjob,你可以將其設(shè)置為60。

通過本文我們了解了創(chuàng)建Job以及Cron Job的步驟并且一些詳細(xì)的配置過程和關(guān)鍵參數(shù),希望藉由本文可以幫助你開始上手了解K8S Job和Cron Job,輕松搞定批處理任務(wù)!

圖片來源:kubernetes.io

文章來源:PHP開源社區(qū)

責(zé)任編輯:lq6

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    275

    瀏覽量

    9530

原文標(biāo)題:帶你5分鐘快速了解 K8S Job

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    淺談Kubernetes的六個(gè)核心概念

    運(yùn)維工程師在學(xué)習(xí) Kubernetes 時(shí),往往會(huì)在某些核心概念上反復(fù)卡住。這些概念不是孤立的知識(shí)點(diǎn),而是相互關(guān)聯(lián)、層層遞進(jìn)的體系。理解這些概念的關(guān)鍵在于動(dòng)手實(shí)踐,而非僅僅閱讀文檔。
    的頭像 發(fā)表于 04-13 13:55 ?160次閱讀

    Kubernetes Ingress Controller對(duì)比解析

    Kubernetes集群對(duì)外提供服務(wù)時(shí),Ingress是標(biāo)準(zhǔn)的服務(wù)暴露方式。Ingress資源定義了HTTP/HTTPS路由規(guī)則,而Ingress Controller則是這些規(guī)則的實(shí)現(xiàn)者
    的頭像 發(fā)表于 04-09 10:09 ?215次閱讀

    Kubernetes Pod異常問題排查實(shí)戰(zhàn)

    集群跑著跑著,Pod 掛了。Slack 告警一刷屏,腦子一片空白。打開終端敲 kubectl get pods,看到一堆 CrashLoopBackOff、ImagePullBackOff、Pending,不知道從哪下手。這是每個(gè)剛接觸 Kubernetes 運(yùn)維的人都會(huì)遇到的場景。
    的頭像 發(fā)表于 03-18 15:43 ?248次閱讀

    Kubernetes Pod調(diào)度策略原理與落地指南

    Pod調(diào)度是Kubernetes的核心機(jī)制之一,決定了Pod最終運(yùn)行在哪個(gè)節(jié)點(diǎn)上。默認(rèn)調(diào)度器kube-scheduler通過一系列預(yù)選(Filtering)和優(yōu)選(Scoring)算法完成調(diào)度決策,但默認(rèn)行為在生產(chǎn)環(huán)境中往往不夠用。
    的頭像 發(fā)表于 02-27 11:08 ?303次閱讀

    Kubernetes存儲(chǔ)管理功能的落地實(shí)踐

    容器本身是無狀態(tài)的,Pod重啟后容器內(nèi)的數(shù)據(jù)全部丟失。數(shù)據(jù)庫、消息隊(duì)列、文件存儲(chǔ)這類有狀態(tài)服務(wù)跑在K8s上,必須解決持久化存儲(chǔ)問題。Kubernetes通過PersistentVolume(PV)、PersistentVolumeClaim(PVC)和StorageClass三層抽象來管理存儲(chǔ)。
    的頭像 發(fā)表于 02-26 14:45 ?389次閱讀

    KubePi:開源Kubernetes可視化管理面板,讓集群管理如此簡單

    KubePi:開源Kubernetes可視化管理面板,讓集群管理如此簡單 在云原生時(shí)代,Kubernetes已成為容器編排的事實(shí)標(biāo)準(zhǔn),但其復(fù)雜性卻讓許多開發(fā)者望而卻步。KubePi作為一款現(xiàn)代化
    發(fā)表于 02-11 12:53

    Kubernetes kubectl命令行工具詳解

    kubectl是Kubernetes官方提供的命令行工具,作為與Kubernetes集群交互的主要接口,它通過調(diào)用Kubernetes API Server實(shí)現(xiàn)對(duì)集群資源的全面管理。在生產(chǎn)環(huán)境中,運(yùn)維工程師需要熟練掌握kubec
    的頭像 發(fā)表于 02-02 16:40 ?589次閱讀

    香港服務(wù)器支持Docker和Kubernetes嗎?

    在云原生技術(shù)成為主流的今天,Docker和Kubernetes(K8s)已成為現(xiàn)代化應(yīng)用開發(fā)和部署的事實(shí)標(biāo)準(zhǔn)。對(duì)于選擇香港服務(wù)器的開發(fā)者與企業(yè)而言,一個(gè)核心問題是:香港服務(wù)器能否完美支持Docker
    的頭像 發(fā)表于 10-21 15:47 ?897次閱讀

    借助京東AI言犀提升Kubernetes集群巡檢的效率和準(zhǔn)確性

    介紹 目前k8s-cluster-inspector組件可以自動(dòng)化完成Kubernetes集群巡檢,并在巡檢結(jié)果中給出當(dāng)前集群存在的問題,問題分級(jí),問題類型,問題解決方法。 示例巡檢數(shù)據(jù)結(jié)構(gòu)如下
    的頭像 發(fā)表于 09-15 16:56 ?646次閱讀
    借助京東AI言犀提升<b class='flag-5'>Kubernetes</b>集群巡檢的效率和準(zhǔn)確性

    Kubernetes安全加固的核心技術(shù)

    在生產(chǎn)環(huán)境中,Kubernetes集群的安全性直接關(guān)系到企業(yè)數(shù)據(jù)安全和業(yè)務(wù)穩(wěn)定性。本文將從實(shí)戰(zhàn)角度,帶你掌握K8s安全加固的核心技術(shù)。
    的頭像 發(fā)表于 08-18 11:18 ?944次閱讀

    高效管理Kubernetes集群的實(shí)用技巧

    作為一名經(jīng)驗(yàn)豐富的運(yùn)維工程師,我深知在日常的Kubernetes集群管理中,熟練掌握kubectl命令是提升工作效率的關(guān)鍵。今天,我將分享15個(gè)經(jīng)過實(shí)戰(zhàn)檢驗(yàn)的kubectl實(shí)用技巧,幫助你像藝術(shù)家一樣優(yōu)雅地管理K8s集群。
    的頭像 發(fā)表于 08-13 15:57 ?1111次閱讀

    生產(chǎn)環(huán)境中Kubernetes容器安全的最佳實(shí)踐

    隨著容器化技術(shù)的快速發(fā)展,Kubernetes已成為企業(yè)級(jí)容器編排的首選平臺(tái)。然而,在享受Kubernetes帶來的便利性和可擴(kuò)展性的同時(shí),安全問題也日益凸顯。本文將從運(yùn)維工程師的角度,深入探討生產(chǎn)環(huán)境中Kubernetes容器
    的頭像 發(fā)表于 07-14 11:09 ?933次閱讀

    樹莓派部署 Kubernetes:通過 UDM Pro 實(shí)現(xiàn) BGP 負(fù)載均衡!

    最近,我將家庭實(shí)驗(yàn)室的架構(gòu)核心切換為一組樹莓派。盡管在樹莓派上運(yùn)行的Kubernetes發(fā)行版眾多,但在資源受限的設(shè)備上運(yùn)行Kubernetes時(shí),控制平面的開銷是一個(gè)常見挑戰(zhàn)
    的頭像 發(fā)表于 06-25 18:00 ?1078次閱讀
    樹莓派部署 <b class='flag-5'>Kubernetes</b>:通過 UDM Pro 實(shí)現(xiàn) BGP 負(fù)載均衡!

    詳解Kubernetes中的Pod調(diào)度親和性

    Kubernetes(K8s)中,Pod 調(diào)度親和性(Affinity) 是一種高級(jí)調(diào)度策略,用于控制 Pod 與節(jié)點(diǎn)(Node)或其他 Pod 之間的關(guān)聯(lián)(親和)或反關(guān)聯(lián)(反親和)關(guān)系。通過親和性規(guī)則,管理員可以更精細(xì)地控制 Pod 的調(diào)度行為,滿足業(yè)務(wù)的拓?fù)浼s束、資源局部性、高可用等需求。
    的頭像 發(fā)表于 06-07 13:56 ?1092次閱讀

    Kubernetes Helm入門指南

    環(huán)境中部署和管理復(fù)雜應(yīng)用的挑戰(zhàn)。Helm命令行客戶端工具,主要用于Kubernetes應(yīng)用中的Chart的創(chuàng)建、打包、發(fā)布和管理。
    的頭像 發(fā)表于 04-30 13:42 ?3211次閱讀
    <b class='flag-5'>Kubernetes</b> Helm入門指南