十五、K8s计划任务JobCronJob

news/2024/12/12 5:29:40/

K8s计划任务CronJob&Job

一、Job可以干什么

Job 控制器用于管理 Pod 对象运行一次性任务,比方说我们对数据库备份,可以直接在 k8s 上启动一个 mysqldump 备份程序,也可以启动一个 pod,这个 pod 专门用来备份用的,备份结束 pod 就可以终止了,不需要重启,而是将 Pod 对象置于"Completed"(完成)状态,若容器中的进程因错误而终止,则需要按照重启策略配置确定是否重启,对于 Job 这个类型的控制器来说,需不需要重建 pod 就看任务是否完成,完成就不需要重建,没有完成就需要重建 pod。

在这里插入图片描述
在这里插入图片描述


二、Job配置参数详解

编辑yaml文件

apiVersion: batch/v1
kind: Job
metadata:labels:job-name: echoname: echonamespace: default
spec:#suspend: true # 1.21+               #暂停任务,只有支持为false才执行#ttlSecondsAfterFinished: 100backoffLimit: 4                     #失败多少次不再执行,例如执行4次失败后不再执行completions: 1parallelism: 1template:spec:containers:- command:- echo- Hello, Jobimage: registry.cn-beijing.aliyuncs.com/dotbalo/busyboximagePullPolicy: IfNotPresentname: echoresources: {}restartPolicy: Never

backoffLimit: 如果任务执行失败,失败多少次后不再执行

completions:有多少个Pod执行成功,认为任务是成功的。例如:如果并发执行3,设置为2,则有2个成功就任务成功了。

  • ​ 为空默认和parallelism数值一样

parallelism:并行执行任务的数量

  • ​ 如果parallelism数值大于未完成任务数,只会创建未完成的数量;比如completions是4,并发是3,第一次会创建3个Pod执行任务,第二次只会创建一个Pod执行任务。

ttlSecondsAfterFinished:Job在执行结束之后(状态为completed或Failed)自动清理。设置为0表示执行结束立即删除,不设置则不会清除,需要开启TTLAfterFinished特性,一般不开启。

执行pod

[root@k8s-master01 job]#kubectl create -f job.yaml
job.batch/echo created
[root@k8s-master01 job]

http://www.ppmy.cn/news/1554409.html

相关文章

React第十八章(useImperativeHandle)

useImperativeHandle 可以在子组件内部暴露给父组件句柄,那么说人话就是,父组件可以调用子组件的方法,或者访问子组件的属性。 如果你学过Vue,就类似于Vue的defineExpose。 用法 useImperativeHandle(ref, ()>{return {// 暴…

参观华为欧洲小镇攻略

华为松山湖欧洲小镇直接造了一个城! 我用“城”这个词 并不是为了夸张或者博人眼球 全世界没有任何一个国家或公司 建造过如此规模的办公楼 甚至园区内部自带火车站! 它就是华为总部 松山湖小镇 位于东莞松山湖畔 是华为的研发基地总部 这里平时安保措施…

Ubuntu K8s

https://serious-lose.notion.site/Ubuntu-K8s-d8d6a978ad784c1baa2fc8c531fbce68?pvs74 2 核 2G Ubuntu 20.4 IP 172.24.53.10 kubeadmkubeletkubectl版本1.23.01.23.01.23.0 kubeadm、kubelet 和 kubectl 是 Kubernetes 生态系统中的三个重要组件 kubeadm: 主…

List与Set、数组与ArrayList、ArrayList与LinkedList的区别

List 与 Set 的区别: 项ListSet重复允许重复的对象(多个null也可以)不允许重复的对象(null也只能有一个)有序性有序的。 保持了每个元素的插入顺序。即输出顺序就是输入顺序。 有序和无序都有。 HashSet:无…

can协议中的网络管理

为什么需要网络管理? 网络管理最终要实现的是车上的ECU能够协同睡眠以及唤醒,也就是说网络管理最重要的一点是要保证车上的ECU能够协同唤醒和休眠。那么假如车上的ECU都处于睡眠模式,网络上都没有报文,你咋实现唤醒呢,…

前端流式播放TTS语音:技术细节与实现

摘要 本文将介绍如何在前端实现流式播放文本到语音(TTS)的语音,并加入确保语音播放不重叠的改进方案。我们将探讨使用Web Audio API和WebSocket进行实时语音播放的技术细节,并提供相应的代码示例。 一、引言 在之前的讨论中&am…

基于单片机指纹识别电子寄存柜设计

摘要: 触摸屏信息显示、电控锁继电器控制、计算机终端管理控制等部分。相比于条码式寄存柜,具有操作简单,维护方便,性能可靠等诸多优 本文研究一种基于单片机的指纹识别电子寄存柜控制系统。主控芯片采用 STC12C5A60S2 增强型单片机,系统包括指纹识别、LCD点。此外,设计…

AndroidStudio-常见界面控件

一、Button package com.example.review01import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.TextViewclass Review01Activity : AppCompatActivity() {override fun onCreate(savedInstanceStat…