【K8s】专题四(6):Kubernetes 控制器之 Job

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!

公众号二维码


目录

一、基本介绍

二、工作原理

三、相关特性

四、资源清单(示例)

五、常用操作


一、基本介绍

Job 控制器是 Kubernetes 中用于运行一次性任务的 API 对象,它负责启动指定数量的 Pod,通过跟踪记录达到 Completed 状态的 Pod 个数,并判断是否达到设定的阈值来确保这些 Pod 成功完既定任务。

Job 通常用于部署一次性任务或批处理任务。


二、工作原理
  • 定义对象:用户定义一个 Job 对象,指定 Pod 模板和其他配置选项
  • 调度 Pod:Kubernetes 根据 Job 的定义创建 PodPod 被调度到节点后开始执行任务
  • 监控 Pod:Job 控制器会监控这些 Pod 的状态,确保它们成功完成任务
  • 完成任务:当所有 Pod 都成功完成任务后,Job 状态会被标记为 Completed
  • 清理资源:完成的 Job 及对应的 Pod 会在一定时间后被系统自动清理


三、相关特性
  • 并行执行:Job 可以指定并行运行的 Pod 数量,允许任务并行执行以提高效率
  • 成功计数:Job 控制器会跟踪成功完成任务的 Pod 数量,直到达到用户指定的完成数量
  • 失败重试:Job 可以配置重试策略,当 Pod 失败时可以重新启动新的 Pod 来尝试完成任务
  • 自动清理:Job 完成后,相关的资源(如 Pod)会被自动清理,减少资源浪费
  • 依赖管理:Job 可以设置依赖,确保任务按照特定的顺序执行
  • 生命周期:Job 提供了一种机制来管理任务的生命周期,包括任务的启动、监控、完成和清理
  • 弹性伸缩:可以根据任务的需求动态调整并行执行的 Pod 数量
  • 监控和日志:可以对 Job 的执行情况进行监控,并收集相关的日志信息,方便问题排查和性能分析


四、资源清单(示例)
# job.yaml
apiVersion: batch/v1
kind: Job
metadata:
  name: demo-job
spec:
  backoffLimit: 3
  completions: 1
  parallelism: 1
  ttlSecondsAfterFinished: 20
  template:
    metadata:
      labels:
        app: demo-job
    spec:
      restartPolicy: Never
      containers:
      - name: demo-container
        image: busybox
        command:
        - sh
        - -c
        - for i in 1 2 3 4 5 6;do echo $i;done

🔔 默认情况下,Job 任务运行失败或异常结束时,Pod 状态会变为Error,同时创建新的 Pod 继续运行任务
🔔 backoffLimit:指定任务运行失败时,尝试重新运行任务的次数,默认为 6 次,0 表示不尝试重新运行
🔔 completions: 指定任务需要完成的次数
🔔 parallelism: 指定并行运行的任务个数
🔔 ttlSecondsAfterFinished:任务完成后,自动清理 Pod 的时间(单位s)

上述 job.yaml 文件定义了一个名为 demo-job 的 Job 对象,每个 Pod 包含一个名为 demo-container 的容器,该容器使用 busybox 镜像,启动后执行一次性任务(打印数字 1 ~ 6)。

说明:可以通过以下命令查看 Job 资源清单支持定义的内容

kubectl explain job --recursive


五、常用操作

1、创建 Job

kubectl create -f job.yaml
或
kubectl apply -f job.yaml


2、查看 Job

# 查看实例列表
kubetcl get job
 
# 查看详细信息
kubectl describe job demo-job


3、删除 Job

# 方式一:命令行
kubectl delete job demo-job
 
# 方式二:资源清单
kubectl delete -f job.yaml

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何在 Mac 上使用 Windows 版 Excel 的全部功能

作为 Mac 用户,你是否怀念 Excel 的一些关键功能?是不是在 Mac 版 Excel 中找不到全面的 VBA、Active X 和表单控件、智能标签、Power Pivot 等关键工具?Mac 用户们,其实你不必错过这些功能。终极解决方案就是:通过 Pa…

为啥要在虚拟机上搞开发呢:一个码农的Mac折腾史

作为一个码农,我一直在不停地学习新技术,适应新环境。但说实话,我最大的挑战之一是那天我决定从 Windows 转投 Mac 的阵营。 一开始,我还挺犹豫的。 Windows 和 Linux 一直是我求学和工作的得力伙伴。我在那个熟悉的世界里觉得很…

激发AI创新潜能,OPENAIGC开发者大赛赛题解析

人工智能(AI)的飞速发展,特别是AIGC、大模型、数字人技术的成熟,不仅改变了数据处理和信息消费的方式,也为企业和个人提供了前所未有的机遇。在这种技术进步的背景下,由联想拯救者、AIGC开放社区、英特尔共…

内地户口转香港身份的7种途径!2024年怎么同时拥有2个身份?一篇说明白

很多人还不知道怎么同时拥有内地身份和香港身份,这里一次性说明白,不同背景情况及政策有可能随时变化,这里分享最近拿香港身份的7种途径。 #01 优才『香港优秀人才计划』 获批准的申请人无须在来港定居前先获得本地雇主聘任。所有申请人均必…

淘宝扭蛋机小程序:解锁个性化扭蛋新体验

在追求个性化的今天,淘宝扭蛋机小程序以其独特的功能和设计,为我们解锁了全新的个性化扭蛋新体验。 1. 定制化扭蛋选择 淘宝扭蛋机小程序提供了多种定制化扭蛋选择,让你根据自己的喜好和需求,挑选心仪的扭蛋机。无论是喜欢动漫角…

界面控件Telerik UI for WPF中文教程 - 用RadSvgImage升级应用程序UI

Telerik UI for WPF拥有超过100个控件来创建美观、高性能的桌面应用程序,同时还能快速构建企业级办公WPF应用程序。UI for WPF支持MVVM、触摸等,创建的应用程序可靠且结构良好,非常容易维护,其直观的API将无缝地集成Visual Studio…

EE trade:通货膨胀对老百姓意味着什么

通货膨胀,是经济领域中的一个常见现象,对社会各阶层尤其是普通老百姓的生活产生了深远影响。理解通货膨胀对老百姓的真实含义,可以帮助我们更好地应对日常生活的变化与挑战。 1. 生活成本的上升 最直接的影响体现在生活成本上。通货膨胀会导致…

线性模型-分类

一、线性判别分析LDA 线性判别分析是一种经典的线性学习方法,在二分类问题上最早是Fisher提出的,亦称为Fisher判别分析。 Fisher判别分析是一种用于降维和分类的统计方法,旨在找到可以最好区分不同类别的特征。它基于类内方差和类间方差的比…

[数据集][目标检测]医疗防护服检测数据集VOC+YOLO格式649张7类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):649 标注数量(xml文件个数):649 标注数量(txt文件个数):649 标注类别…

ChatGLM 4本地部署指南(Docker容器版)

GLM-4V-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源多模态版本。 GLM-4V-9B 具备 1120 * 1120 高分辨率下的中英双语多轮对话能力,在中英文综合能力、感知推理、文字识别、图表理解等多方面多模态评测中,GLM-4V-9B 都表现出卓越性能。 本…

每日一题遇到沙比题目——Python实现PAT甲级1058 A+B in Hogwarts(举一反三+思想解读+逐步优化)

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 吐槽题目 我的写法 代码分析 1. 输入处理 2. 变量初始化 3. 查找星期几和小时 4…

系统架构设计师重难点知识脑图

大家都知道现在的软考自从变成机考后,越来越难了,教程上的内容不仅全还细,几乎任何内容都有可能考,出题老师主打一个出其不意,比如2024年5月考试,连UML时序图的片段都考,这 种如果看书的话一般都是一瞟而过,而实际工作中又很少会这么严格的去画片段。 所以对于教程上的…

悬浮翻译推荐哪个软件好?秒懂外国电影就靠它

电影如《阿甘正传》中的"Life is like a box of chocolates, you never know what youre gonna get."等台词,总能深深打动我们,超越语言的界限。 但在现实世界中,语言差异往往成为沟通的障碍。幸运的是,随着悬浮翻译器…

知识付费小程序开发搭建

一、知识付费小程序简介 知识付费小程序是一个开发知识支付的平台,拥有自主研发的在线课程平台,致力于服务知识支付行业,能深入每个业务场景构建完善知识付费闭环。 二、知识付费小程序的开发搭建过程 关键步骤: 1,…

【Unity性能优化】使用多边形碰撞器网格太多,性能消耗太大了怎么办

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 专栏交流🧧&…

AutoMQ 生态集成 Tigris

Tigris[1]是一个全球分布式的兼容 S3 的对象存储服务,它允许你存储和访问任意数量的数据,具有广泛的使用场景。Tigris 会自动且智能地将数据分布到靠近用户的位置,让用户无需担心数据复制和缓存复杂性。 你可以将 Tigris 用于多种场景&#x…

(文章复现)基于共享储能服务的智能楼宇双层优化配置

参考文献: [1]张浩鹏,李泽宁,薛屹洵,等.基于共享储能服务的智能楼宇双层优化配置[J/OL].中国电机工程学报,1-12[2024-05-22]. 1.摘要 为降低城市化进程中楼宇储能投资成本,提出一种基于共享储能服务的智能楼宇(Intelligent Buildings&#…

【机器学习基础】Python编程04:五个实用练习题的解析与总结

Python是一种广泛使用的高级编程语言,它在机器学习领域中的重要性主要体现在以下几个方面: 简洁易学:Python语法简洁清晰,易于学习,使得初学者能够快速上手机器学习项目。 丰富的库支持:Python拥有大量的机器学习库,如scikit-learn、TensorFlow、Keras和PyTorch等,这些…

AIGC会带来失业潮吗?紧紧跟时代第一步,如何学习AIGC

会,但AI淘汰的始终是跟不上时代的人。 现在很多公司都有AI培训,不仅GPT,还有Midjourney、Stable DIffusion等一系列AI工具。 像我们公司虽然今年招的少,但也会对新招的应届生统一进行AI培训。 用任正非先生的话来说就是&#x…

Jupyter Notebook远程连接服务器

参考连接: 使用Jupyter Notebook远程连接服务器_jupyter notebook 连接 ray-CSDN博客 Jupyter Notebook 7.0 更新远程访问配置_no module named notebook.auth-CSDN博客 激活conda环境 conda activate abc #激活虚拟环境 安装jupyter pip install jupyter #安装…