色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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)維 ? 來(lái)源: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ù)完成。也就是說(shuō),如果pods給出退出代碼0,那么Job就會(huì)退出。而在正常的Kubernetes中,無(wú)論退出代碼是什么,deployment對(duì)象在終止或出現(xiàn)錯(cuò)誤時(shí)都會(huì)創(chuàng)建新的pod,以保持deployment的理想狀態(tài)。

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

Kubernetes Jobs用例????

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

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

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

如何創(chuàng)建Kubernetes Job

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

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

你可以訪問(wèn)以下鏈接查看Dockerfile和shell腳本:

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

我們先從一個(gè)簡(jiǎn)單設(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ò),說(shuō)存在一個(gè)同名的job。為了規(guī)避這個(gè)問(wèn)題,你可以在元數(shù)據(jù)中添加 generateName 名稱參數(shù)。

例如:

apiVersion:batch/v1

在上方示例中,每次你運(yùn)行該manifest,job將以kube-job-作為前綴,后面跟著一個(gè)隨機(jī)字符串來(lái)創(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/)來(lái)生成自己的時(shí)間計(jì)劃。

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

下圖顯示了Kubernetes cronjob schedule語(yǔ)法。

pYYBAGDIRC-AYzB5AAB8dMpIrKo604.jpg

來(lái)源: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中獲取日志來(lái)檢查Cronjob日志。

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

在某些情況下,你可能希望以臨時(shí)的方式執(zhí)行cronjob。你可以通過(guò)從現(xiàn)有的cronjob創(chuàng)建一個(gè)job來(lái)實(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。

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

圖片來(lái)源:kubernetes.io

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

責(zé)任編輯:lq6

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

    關(guān)注

    0

    文章

    224

    瀏覽量

    8722

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    艾體寶與Kubernetes原生數(shù)據(jù)平臺(tái)AppsCode達(dá)成合作

    虹科姐妹公司艾體寶宣布與Kubernetes 原生數(shù)據(jù)平臺(tái) AppsCode達(dá)成正式合作,致力于將其核心產(chǎn)品KubeDB引入中國(guó)市場(chǎng),為企業(yè)提供專業(yè)、高效的云原生數(shù)據(jù)庫(kù)管理解決方案。
    的頭像 發(fā)表于 12-16 15:07 ?244次閱讀

    Kubernetes集群搭建容器云需要幾臺(tái)服務(wù)器?

    Kubernetes集群搭建容器云需要幾臺(tái)服務(wù)器?至少需要4臺(tái)服務(wù)器。搭建容器云所需的服務(wù)器數(shù)量以及具體的搭建步驟,會(huì)根據(jù)所選用的技術(shù)棧、業(yè)務(wù)規(guī)模、架構(gòu)設(shè)計(jì)以及安全需求等因素而有所不同。以下是一個(gè)基于Kubernetes集群的容器云搭建的概述:
    的頭像 發(fā)表于 10-21 10:06 ?160次閱讀

    基于DPU與SmartNIC的K8s Service解決方案

    1.? 方案背景 1.1. Kubernetes Service介紹 Kubernetes Service是Kubernetes中的一個(gè)核心概念,它定義了一種抽象,用于表示一組提供相同功能的Pods
    的頭像 發(fā)表于 09-02 17:01 ?937次閱讀
    基于DPU與SmartNIC的K8s Service解決方案

    使用Velero備份Kubernetes集群

    Velero 是 heptio 團(tuán)隊(duì)(被 VMWare 收購(gòu))開源的 Kubernetes 集群備份、遷移工具。
    的頭像 發(fā)表于 08-05 15:43 ?366次閱讀
    使用Velero備份<b class='flag-5'>Kubernetes</b>集群

    如何使用Kubeadm命令在PetaExpress Ubuntu系統(tǒng)上安裝Kubernetes集群

    Kubernetes,通常縮寫為K8s,是一個(gè)開源的容器編排平臺(tái),旨在自動(dòng)化容器化應(yīng)用的部署、擴(kuò)展和管理。有了Kubernetes,您可以輕松地部署、更新和擴(kuò)展應(yīng)用,而無(wú)需擔(dān)心底層基礎(chǔ)設(shè)施。
    的頭像 發(fā)表于 07-15 13:31 ?875次閱讀
    如何使用Kubeadm命令在PetaExpress Ubuntu系統(tǒng)上安裝<b class='flag-5'>Kubernetes</b>集群

     K8S學(xué)習(xí)教程一:使用PetaExpress云服務(wù)器安裝Minikube 集群

    使得開發(fā)人員能夠在本地機(jī)器上輕松創(chuàng)建一個(gè)單節(jié)點(diǎn)的 Kubernetes 集群,從而方便開發(fā)、測(cè)試和學(xué)習(xí) Kubernetes。 我們看下如何使用PetaExpress云服務(wù)器安裝Minikube 集群
    的頭像 發(fā)表于 07-01 15:41 ?381次閱讀
     K8S學(xué)習(xí)教程一:使用PetaExpress云服務(wù)器安裝Minikube 集群

    鴻蒙開發(fā):創(chuàng)建PageAbility

    通過(guò)DevEco Studio開發(fā)平臺(tái)創(chuàng)建PageAbility時(shí),DevEco Studio會(huì)在app.js/app.ets中默認(rèn)生成onCreate()和onDestroy()方法,其他方法需要開發(fā)者自行實(shí)現(xiàn)。
    的頭像 發(fā)表于 06-18 09:36 ?259次閱讀
    鴻蒙開發(fā):<b class='flag-5'>創(chuàng)建</b>PageAbility

    Linux添加磁盤創(chuàng)建分區(qū)、掛載

    Linux添加磁盤創(chuàng)建分區(qū)、掛載
    發(fā)表于 04-20 17:49 ?518次閱讀
    Linux添加磁盤<b class='flag-5'>創(chuàng)建</b>分區(qū)、掛載

    HIGHTEC創(chuàng)建工程導(dǎo)入iLLD遇到的疑問(wèn)求解

    ] Error 1make: *** Waiting for unfinished jobs....出現(xiàn)這個(gè)問(wèn)題,主要是因?yàn)檫@個(gè)代碼:#ifndef
    發(fā)表于 02-05 08:00

    e2 studio創(chuàng)建lib文件及使用

    e2 studio創(chuàng)建lib文件及使用
    的頭像 發(fā)表于 01-18 08:06 ?488次閱讀
    e2 studio<b class='flag-5'>創(chuàng)建</b>lib文件及使用

    Kubernetes Gateway API攻略教程

    Kubernetes Gateway API 剛剛 GA,旨在改進(jìn)將集群服務(wù)暴露給外部的過(guò)程。這其中包括一套更標(biāo)準(zhǔn)、更強(qiáng)大的 API資源,用于管理已暴露的服務(wù)。在這篇文章中,我將介紹 Gateway
    的頭像 發(fā)表于 01-12 11:32 ?896次閱讀
    <b class='flag-5'>Kubernetes</b> Gateway API攻略教程

    vb運(yùn)行時(shí)錯(cuò)誤429不能創(chuàng)建對(duì)象

    VB運(yùn)行時(shí)錯(cuò)誤429代表不能創(chuàng)建對(duì)象的錯(cuò)誤。這個(gè)錯(cuò)誤可能會(huì)發(fā)生在使用CreateObject函數(shù)或New關(guān)鍵字創(chuàng)建對(duì)象時(shí)。 這種錯(cuò)誤通常發(fā)生在以下情況下: 缺少所需的組件或庫(kù):創(chuàng)建對(duì)象時(shí),需要確保在
    的頭像 發(fā)表于 01-09 11:07 ?2348次閱讀

    如何創(chuàng)建重疊的封裝文件

    創(chuàng)建重疊的封裝文件是一種常用的軟件設(shè)計(jì)模式,它允許程序員使用多層次的連接和封裝來(lái)保護(hù)數(shù)據(jù)和功能。下面介紹如何創(chuàng)建重疊的封裝文件。 重疊的封裝是一種軟件設(shè)計(jì)模式,可用于創(chuàng)建安全、高效且易于維護(hù)的代碼
    的頭像 發(fā)表于 01-07 16:51 ?588次閱讀

    配置Kubernetes中Pod使用代理的兩種常見(jiàn)方式

    在企業(yè)網(wǎng)絡(luò)環(huán)境中進(jìn)行Kubernetes集群的管理時(shí),經(jīng)常會(huì)遇到需要配置Pods通過(guò)HTTP代理服務(wù)器訪問(wèn)Internet的情況。這可能是由于各種原因,如安全策略限制、網(wǎng)絡(luò)架構(gòu)要求或者訪問(wèn)特定資源
    的頭像 發(fā)表于 01-05 11:22 ?1148次閱讀
    配置<b class='flag-5'>Kubernetes</b>中Pod使用代理的兩種常見(jiàn)方式

    使用Jenkins和單個(gè)模板部署多個(gè)Kubernetes組件

    在持續(xù)集成和部署中,我們通常需要部署多個(gè)實(shí)例或組件到Kubernetes集群中。通過(guò)Jenkins的管道腳本,我們可以自動(dòng)化這個(gè)過(guò)程。在本文中,我將演示如何使用Jenkins Pipeline及單個(gè)
    的頭像 發(fā)表于 01-02 11:40 ?782次閱讀
    使用Jenkins和單個(gè)模板部署多個(gè)<b class='flag-5'>Kubernetes</b>組件
    主站蜘蛛池模板: 好嗨哟在线看片免费| 国产亚洲精品久久久久久无码网站 | 日本xxxxxxx| 67194con免费福和视频| 国产制服丝袜91在线| 污污内射在线观看一区二区少妇 | 久久一本综合| 伊人在线高清视频| 久久久无码精品一区二区三区 | 69久久国产精品热88人妻| 久久不射电影网| 一一本之道高清视频在线观看中文字幕| 国产精品人妻无码久久久奥特曼| 色人阁影视| 国产精品系列在线观看| 色偷偷在线视频| 国产精品美女久久久久浪潮AV| 跳蛋按摩棒玉势PLAY高H| 国产成人女人在线视频观看 | 日韩精品无码免费专区| 成人网18免费韩国| 无码任你躁久久久久久老妇双奶| 国产精品免费一区二区三区视频| 亚州日韩精品AV片无码中文| 韩国伦理电影在线神马网| 一个人在线观看视频| 久久兔费黄A级毛片高清| 97无码欧美熟妇人妻蜜桃天美| 男男免费看| 东北女人奶大毛多水多| 性色AV一区二区三区咪爱四虎| 好男人好资源在线观看免费视频 | 性西欧俄罗斯极品| 精品无码国产自产在线观看水浒传| 一个人高清在线观看日本免费| 久青草国产在线观看视频| FREE性丰满HD毛多多| 受坐在攻腿上H道具PLAY| 黄色三级在线| hdxxxx58丝袜连裤袜| 特级毛片s级全部免费|