当前位置: 首页 > news >正文

【云原生】Job一次性任务详解

Job一次性任务

文章目录

  • Job一次性任务
    • 一、Job介绍
    • 二、运行示例Job

一、Job介绍

  • Job会创建一个或者多个Pod,并将继续重试Pod的执行,直到指定数量的Pod成功终止。随着Pod成功借宿,Job跟踪记录成功完成的Pod个数。当数量达到指定的成功个数阈值时,任务(即Job)结束。删除Job的操作会清除所有创建的全部Pod。挂起Job的操作会删除Job的所有活跃的Pod,直到Job被再次恢复执行。

  • 一种简单的使用场景下,你会创建一个Job对象以便以以一种可靠的方式运行某Pod直到完成。当第一个Pod失败或者被删除(比如因为节点硬件失效或者重启)时,Job对象对启动一个新的Pod。

  • 当然你也可以使用Job以并行的方式运行多个Pod。

二、运行示例Job

  • 下面是一个Job配置示例。并将运行结果打印出来,此计算大约需要10秒钟完成。
# 注意:Job的重启策略只有两种分别是Never和OnFailure,不支持Always,我们执行Job就相当于执行一个批处理任务,执行完成就结束了,如果支持Always的话就会陷入死循环
[root@master ~]# vim job.yaml
apiVersion: "batch/v1"
kind: Job
metadata:name: job
spec:template:spec:containers:- name: jobimage: busybox:latestimagePullPolicy: IfNotPresent# 容器内部运行的命令command: ["bin/sh","-c","for i in 9 8 7 6 5 4 3 2 1; do echo $i;sleep 1;done"]restartPolicy: Never# 设置重试次数,如果Job运行失败,就会尝试重启4次backoffLimit: 4
# 应用资源清单
[root@master ~]# kubectl apply -f job.yaml
  • 查看Job运行状态过程
# 你可以提前执行该命令
# 可以看出Job根据我们规定的执行命令,运行10秒自动退出
# Completed表示完成的意思
[root@master ~]# kubectl get pod --watch
NAME        READY   STATUS    RESTARTS   AGE
job-jw22g   0/1     Pending   0          0s
job-jw22g   0/1     Pending   0          0s
job-jw22g   0/1     ContainerCreating   0          0s
job-jw22g   1/1     Running             0          1s
job-jw22g   0/1     Completed           0          11s
  • 查看Job容器内部运行情况
[root@master ~]# kubectl logs job-jw22g 
9
8
7
6
5
4
3
2
1

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • xss漏洞(二,xss靶场搭建以及简单利用)
  • 关于使用webflux开发思考
  • Animate软件基本概念:遮罩层和引导层
  • 【Python】解决Yolov8训练时,“OSError: [WinError 1455] 页面文件太小,无法完成操作”错误
  • [自学记录09*]关于模糊效果降采样优化性能的小实验
  • 【异常】npm install 出错几种解决方案
  • Git 的基本概念和使用方式。
  • 期权价格的奥秘:深入理解影响因素
  • C++入门基础知识(笔记):静态成员函数,所有对象共享同一个函数静态成员函数只能访问成员变量,类外访问不到私有静态成员函数
  • 河南萌新(2024)(河南农业大学)(旅途的终点)
  • 爬虫入门--了解相关工具
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • 密码学基础:搞懂Hash函数SHA1、SHA-2、SHA3(1)
  • Golang | Leetcode Golang题解之第328题奇偶链表
  • 汽车测试,引领国际
  • 【Leetcode】101. 对称二叉树
  • 【Leetcode】104. 二叉树的最大深度
  • 【刷算法】从上往下打印二叉树
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • Docker容器管理
  • FineReport中如何实现自动滚屏效果
  • go语言学习初探(一)
  • Median of Two Sorted Arrays
  • PHP面试之三:MySQL数据库
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • win10下安装mysql5.7
  • 闭包--闭包作用之保存(一)
  • 给第三方使用接口的 URL 签名实现
  • 观察者模式实现非直接耦合
  • 检测对象或数组
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 每天一个设计模式之命令模式
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 配置 PM2 实现代码自动发布
  • 详解移动APP与web APP的区别
  • 智能网联汽车信息安全
  • 阿里云移动端播放器高级功能介绍
  • ​业务双活的数据切换思路设计(下)
  • # 消息中间件 RocketMQ 高级功能和源码分析(七)
  • #{}和${}的区别?
  • #HarmonyOS:基础语法
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • $.ajax()参数及用法
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (2015)JS ES6 必知的十个 特性
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (Qt) 默认QtWidget应用包含什么?
  • (WSI分类)WSI分类文献小综述 2024
  • (层次遍历)104. 二叉树的最大深度
  • (初研) Sentence-embedding fine-tune notebook
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (转)jdk与jre的区别