K8S中Pod控制器之Job控制器

Job,主要用于负责批量处理(一次要处理指定数量任务)短暂的一次性(每个任务仅运行一次就结束)任务。

  • 一次性任务:Job 用于运行那些只需要执行一次的任务,如数据分析、图像渲染或批量处理。

  • 成功终止:Job 会跟踪其创建的 Pod 的成功完成(成功退出,退出状态为 0)的数量。

  • 指定完成数量:Job 有一个目标完成数量,当成功结束的 Pod 数量达到这个指定的数量时,Job 就会完成。

  • 并行处理:Job 可以配置并行性,即同时运行多个 Pod 来加速处理过程。Kubernetes 会尝试以最大并行数启动 Pod,直到达到所需的成功完成 Pod 的数量。

  • 重启策略:Job 的重启策略通常设置为 OnFailure,这意味着如果 Pod 失败(非零退出状态),它将被重启。

  • 自动清理:一旦 Job 完成,即成功结束的 Pod 数量达到指定的目标,Kubernetes 将自动清理与该 Job 相关的所有资源。

  • 回退机制:如果 Pod 由于某种原因(如节点故障)未能成功完成,Job 可以配置以重新创建并启动新的 Pod 来替换失败的 Pod。

  • 监控和日志:Job 可以与 Kubernetes 的日志和监控系统集成,以便于跟踪作业的执行状态和历史。

Job的资源清单文件

---
apiVersion: batch/v1 # 版本号
kind: Job # 类型
metadata: # 元数据name: # rs名称namespace: # 所属命名空间labels: # 标签controller: job
spec: # 详情描述completions: 1 # 指定job需要成功运行Pods的次数。默认值: 1parallelism: 1 # 指定job在任一时刻应该并发运行Pods的数量。默认值: 1activeDeadlineSeconds: 30 # 指定job可运行的时间期限,超过时间还未结束,系统将会尝试进行终止。backoffLimit: 6 # 指定job失败后进行重试的次数。默认是6manualSelector: true # 是否可以使用selector选择器选择pod,默认是falseselector: # 选择器,通过它指定该控制器管理哪些podmatchLabels: # Labels匹配规则app: counter-podmatchExpressions: # Expressions匹配规则- key: appoperator: Invalues: [counter-pod]template: # 模板,当副本数量不足时,会根据下面的模板创建pod副本metadata:labels:app: counter-podspec:restartPolicy: Never # 重启策略只能设置为Never或者OnFailurecontainers:- name: counterimage: busybox:1.30command: ["bin/sh","-c","for i in 9 8 7 6 5 4 3 2 1; do echo $i;sleep 2;done"]

 

在 Kubernetes 中,Job 控制器的重启策略与 Pod 的重启策略是不同的。Job 本身并不控制容器的重启,而是控制着生成新 Pod 的行为。以下是 Job 控制器与重启策略相关的正确说明:

  • OnFailure:这是 Job 的默认重启策略。当 Pod 由于容器故障而失败时(比如退出状态非零),Job 会认为这是一个失败,失败次数会增加,并且 Job 会创建一个新的 Pod 来替换失败的 Pod。这意味着任务会重试,直到成功完成。

  • Never:如果将重启策略设置为 Never,当 Pod 失败时,Job 不会创建新的 Pod 来替换它,失败的 Pod 将保留在系统中,并且失败次数会增加。这种策略通常用于调试,以便可以检查失败的 Pod 的状态和日志。

  • Always:这个选项对于 Pod 的重启策略是有意义的,但对于 Job 控制器来说,并不适用。Job 控制器不负责重启容器,它负责的是生成新的 Pod。如果 Pod 的重启策略设置为 Always,无论何时容器退出,Kubernetes 都会重启该容器,而与 Job 控制器无关。

创建Job控制器

^C[root@k8s-master ~]# cat pc-job.yaml 
---
apiVersion: batch/v1
kind: Job
metadata:name: pc-jobnamespace: test
spec:manualSelector: trueselector:matchLabels:app: counter-pod  # 确保这个与 template 中的 labels 匹配template:metadata:labels:app: counter-pod  # 这里的 labels 需要与 selector 的 matchLabels 对应spec:restartPolicy: Nevercontainers:- name: counterimage: busybox:1.30command: ["/bin/sh", "-c", "for i in 9 8 7 6 5 4 3 2 1; do echo $i; sleep 3; done"]
[root@k8s-master ~]# 

查看job

[root@k8s-master ~]# kubectl get job -n test -o wide -w
NAME     COMPLETIONS   DURATION   AGE   CONTAINERS   IMAGES         SELECTOR
pc-job   0/1           2s         2s    counter      busybox:1.30   app=counter-pod
pc-job   1/1           43s        43s   counter      busybox:1.30   app=counter-pod

查看pod

可以看的pod在启动成功之后就变为completed状态

[root@k8s-master ~]# kubectl get pods -n test -w
NAME                 READY   STATUS    RESTARTS   AGE
pc-daemonset-9vwvd   1/1     Running   0          24m
pc-daemonset-drdt5   1/1     Running   0          24m
pc-job-dhgqw         1/1     Running   0          41s
pc-job-dhgqw         0/1     Completed   0          43s
pc-job-dhgqw         0/1     Completed   0          43s

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/4526.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wps数据分析000002

目录 一、快速定位技巧 二、快速选中技巧 全选 选中部分区域 选中部分区域(升级版) 三、快速移动技巧 四、快速录入技巧 五、总结 一、快速定位技巧 ctrl→(上下左右)快速定位光标对准单元格的上下部分双击名称单元格中…

[gdb调试] gdb调试基础实践gdb指令汇总

​ 一. 参考资料 《C/C代码调试的艺术》 二. 调试过程 1. 编译: 使用Debug模式编译,或者使用Release模式编译加入-g参数,-g选项会在可执行文件中加入调试信息,这些信息包含了程序中的变量名、函数名、行号等,能让…

风吹字符起,诗意Linux:一场指令与自由的浪漫邂逅(上)

文章目录 前言一. 知识过渡文件的属性与类型路径 二. 基本指令ls:风起草长,窥见世界的全貌cd:穿梭路径间,漫步荒原的远方pwd:定位自我,荒原上的坐标mkdir:种下希望,创建属于自己的世…

知识图谱中的word2vec 技术是做什么的?

Word2Vec 是一种将单词转换为向量表示的技术,由 Google 在 2013 年提出。这项技术的核心思想是通过大规模文本数据训练神经网络模型,从而将单词映射到低维稠密的向量空间中。这些向量能够捕捉到单词之间的语义和语法关系,使得相似或相关的单词…

Chrome 132 版本新特性

Chrome 132 版本新特性 一、Chrome 132 版本浏览器更新 1. 在 iOS 上使用 Google Lens 搜索 在 Chrome 132 版本中,开始在所有平台上推出这一功能。 1.1. 更新版本: Chrome 126 在 ChromeOS、Linux、Mac、Windows 上:在 1% 的稳定版用户…

Kafka 日志存储 — 日志索引

每个日志分段文件对应两个索引文件:偏移量索引文件用来建立消息偏移量到物理地址之间的映射;时间戳索引文件根据指定的时间戳来查找对应的偏移量信息。 1 日志索引 Kafka的索引文件以稀疏索引的方式构造消息的索引。它并不保证每个消息在索引文件中都有…

消息队列篇--原理篇--RocketMQ(NameServer,Broker,单机上每秒处理数百万条消息性能)

1、概述 RocketMQ是阿里巴巴开源的一个分布式消息中间件,具有高吞吐量、低延迟和强一致性等特点。它特别适合大规模分布式系统的消息传递,广泛应用于电商、金融、物流等领域的实时数据处理和异步通信。 RocketMQ是用Java语言实现,在设计时参…

简述mysql 主从复制原理及其工作过程,配置一主两从并验证。

MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。 主从同步的核心原理是将主服务器上的二进制日志复制到从服务器,并在从服务器上执行这些日志中的操作。 MySQL主从同步是基…

Web前端开发技术之HTMLCSS知识点总结

学习路线 一、新闻网界面1. 代码示例2. 效果展示3. 知识点总结3.1 HTML标签和字符实体3.2 超链接、颜色描述与标题元素3.3 关于图片和视频标签:3.4 CSS引入方式3.5 CSS选择器优先级 二、flex布局1. 代码示例2. 效果展示3. 知识点总结3.1 span标签和flex容器的区别3.…

内存故障原因与诊断(Reasons and Diagnosis of Memory Failure)

内存故障原因与诊断 您是否曾遇到过电脑无法启动、黑屏、死机,或者系统卡顿的情况?这些问题看起来很复杂,实际上大多数都是内存故障引起的。内存是电脑的核心组成部分之一,任何小东西问题都可能导致系统死机,严重时甚…

vulnhub靶机(ReconForce)

一.信息收集: 使用nmap进行端口扫描,发现其开放了ftp,http,ssh服务 nmap -sS -O -sV -p- 192.168.80.142访问其80端口发现是一个网页,点击TroubleShoot后发现其需要登录 在去尝试使用ftp的匿名登录发现无法执行任何命令,发现了他的欢迎语有点特别 在扫描目录后没有发现什么有…

54,【4】BUUCTF WEB GYCTF2020Ezsqli

进入靶场 吓我一跳,但凡放个彭于晏我都不说啥了 提交个1看看 1 and 11 1# 还尝试了很多,不过都被过滤了,头疼 看看别人的WP 竟然要写代码去跑!!!,不会啊,先用别人的代码吧&#xf…

vue2使用flv.js在浏览器打开flv格式视频

组件地址&#xff1a;GitHub - bilibili/flv.js: HTML5 FLV Player flv.js 仅支持 H.264 和 AAC/MP3 编码的 FLV 文件。如果视频文件使用了其他编码格式就打不开。 flv.vue <template><div><el-dialog :visible.sync"innerVisibleFlv" :close-on-pre…

Git原理与应用(三)【远程操作 | 理解分布式 | 推送拉取远程仓库 | 标签管理】

Git 理解分布式版本控制系统远程仓库新建远程仓库克隆远程仓库向远程仓库推送配置Git忽略特殊文件 标签管理理解标签创建标签操作标签删除标签 理解分布式版本控制系统 我们⽬前所说的所有内容&#xff08;工作区&#xff0c;暂存区&#xff0c;版本库等等&#xff09;&#x…

网络安全:信息时代的守护者

随着互联网的快速发展&#xff0c;网络安全问题日益成为全球关注的焦点。无论是个人用户、企业组织还是政府部门&#xff0c;网络安全都已成为保障信息安全、保护隐私、确保社会秩序的基石。在这个数字化时代&#xff0c;如何应对复杂多变的网络安全威胁&#xff0c;成为了我们…

BUUCTF_Web([GYCTF2020]Ezsqli)

1.输入1 &#xff0c;正常回显。 2.输入1 &#xff0c;报错false&#xff0c;为字符型注入&#xff0c;单引号闭合。 原因&#xff1a; https://mp.csdn.net/mp_blog/creation/editor/145170456 3.尝试查询字段&#xff0c;回显位置&#xff0c;数据库&#xff0c;都是这个。…

HTML知识点复习

1.src 和 href 的区别 src&#xff1a;表示对资源的引用&#xff0c; src指向的内容会嵌入到其标签里。 当浏览器解析到该元素时候&#xff0c;会暂停其他资源的下载和处理&#xff0c; 直到将该资源加载、编译、执行完毕&#xff0c;所以js脚本一般会放在页面底部 href&…

Windows11电脑总是一闪一闪的,黑一下亮一些怎么解决

Windows11电脑总是一闪一闪的&#xff0c;黑一下亮一些怎么解决 1. 打开设备管理器2. 点击显示适配器3. 更新下方两个选项的驱动3.1 更新驱动Inter(R) UHD Graphixs3.2 更新驱动NVIDIA GeForce RTX 4060 Laptop GPU 4. 其他文章快来试试吧&#x1f970; 1. 打开设备管理器 在电…

WPS计算机二级•高效操作技巧

听说这里是目录哦 斜线表头 展示项目名称&#x1f34b;‍&#x1f7e9;横排转竖排&#x1f350;批量删除表格空白行&#x1f348;方法一方法二建辅助列找空值 能量站&#x1f61a; 斜线表头 展示项目名称&#x1f34b;‍&#x1f7e9; 选中单元格&#xff0c;单击右键➡️“设…

使用Torchvision框架实现对象检测:从Faster-RCNN模型到自定义数据集,训练模型,完成目标检测任务。

引言 对象检测是一项计算机视觉中的核心任务&#xff0c;其目标是识别图像中的目标并标记它们的位置和类别。在Pytorch生态系统中&#xff0c;Torchvision提供了多种预训练的对象检测模型&#xff08;如Faster-RCNN、Mask-RCNN等&#xff09;&#xff0c;为开发者快速构建应用…