K8s: 控制器之Job对象

Kubernetes K8S之资源控制器Job和CronJob详解 Kubernetes的资源控制器Job和CronJob详解与示例 阅读详情

Job 对象


1 )概述

  • Job 任务在 K8s中类似 DaemonSet 和 Deployment 类似的对象,也是负责管理 Pod 的
  • 用于负责一些一次性的业务需求,它不是需要一直在后台运行的,所以不是 DaemonSet
  • 同时 Deployment 部署的是大的应用系统本身,它也不是一个 Deployment
  • 它可以执行一次,或者是多次有限次数的,或者是定期哪天执行的这么一个任务
  • 对于这种需求来讲就定义一个job

2 )场景

  • 场景1:在运行的博客系统中给用户添加一个默认的用户头像的新功能

    • 这个任务能够让每一个用户在登录我的博客系统之后,他自己能看到有一个默认的头像需求
    • 这个需求,它是一个一次性的需求,可以考虑用任务来做
  • 场景2: 文件管理的功能

    • 我要定期的可能去删除一些任务
    • 我要定期删除某些就是说存储的一些日志
    • 或者是一些比如三年前没有人下载过的文件
    • 这类定时任务,可以通过job方式去执行

3 )应用

  • $ vi job-demo1.yaml

    apiVersion: batch/v1
    kind: Job
    metadata: # 对外暴露本身的信息
      name: pi
    spec:
      template:
        spec:
          containers:
          - name: pi
            image: registry.cn-beijing.aliyuncs.com/google_registry/perl:5.26
            command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(100)"]
          restartPolicy: Never
      backoffLimit: 4
    
  • $ kubectl apply -f job-demo1.yaml

    job.batch/pi created
    
  • $ kubectl get job

    NAME   COMPLETIONS   DURATION   AGE
    pi     1/1           2s         25s
    
  • $ kubectl get po

    NAME          READY   STATUS      RESTARTS   AGE
    pi--1-v9864   0/1     Completed   0          59s
    
  • $ kubectl logs pi--1-v9864

    3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068
    
  • $ echo $(kubectl get pods --selector=job-name=pi --output=jsonpath='{.items[*].metadata.name}')

    pi--1-v9864
    
    • K8s 提供了一个很强大的功能,就叫select选择器
    • 首先在选取所有的pods之后,定义一些过滤器,比如过滤某些指定的label
    • 或者拆分
    • $ pods=$(kubectl get pods --selector=job-name=pi --output=jsonpath='{.items[*].metadata.name}')
    • $ echo $pods
  • $ kubectl delete -f job-demo1.yaml 清理Job

    job.batch "pi" deleted
    
k8s 控制器:Daemonset 和 Job k8s Job 阅读详情

相关推荐

k8s之控制器

控制器也是管理pod的一种手段自主式pod:pod退出或意外关闭后不会被重新创建控制器管理的 Pod:在控制器的生命周期里,始终要维持 Pod 的副本数目Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod就可以了,它会创建出满足条件的Pod并确保每一个Pod资源处于用户期望的目标状态。如果Pod资源在运行中出现故障,它会基于指定策略重新编排Pod。

hotslow的博客 924

k8s工作负载控制器之job与CronJob

Job与CronJob Job分为普通任务(Job)和定时任务(CronJob) 一次性执行,一般用作离线数据处理和视频解码等,或者数据库数据备份等 job 示例:计算一个圆周率 这里配置了never的重启规则,是job常用的规则,即失败后不重启,因为是一次性任务。但job执行完后k8s不会主动去删除那个pod容器,方便查看执行结果 apiVersion: batch/v1 kind: Job metadata: name: pi spec: template: ...

huahua1999的博客 1262

【K8S系列】深入解析Job

k8s中的Job和CronJob是两种不同的控制器类型,用于在k8s集群中运行任务。我们总结一下它们的技术总结和使用场景总结。Job的使用场景: 1,在集群中运行一次性任务,例如批处理作业、数据导入等。 2,任务需要确保只运行一次,并且可以自动重新启动任务。 CronJob的使用场景: 1,在集群中定期运行任务,例如备份、数据清理等。 2,任务需要按照一定的调度计划运行。

颜淡慕潇 2万+

【一起来学kubernetes】15、Job使用详解

Job负责在Kubernetes集群中运行独立的任务,并确保任务成功完成。与其他控制器(如ReplicaSet和Deployment)不同,Job关注的是执行一次性任务而不是保持指定数量的实例运行。

技术人集结地 1846

k8s中job与cronjob使用详解

k8s job详细使用

congge 7576

Kubernetes对象job详解

而如果将restartPolicy 设置为OnFailure会怎么样,根据OnFailure的含义,当pod失败后,会进行重启,因此,可以看到pod只有一个,但是pod的RESTARTS会不断增加,这说明了容器失败后会自动重启。原因是:当第一个Pod启动时,容器失败退出,根据策略:restartPolicy: Never,此失败容器不会被重启,但 Job DESIRED的Pod是1,目前成功的为0,不满足条件,所以 Job controller会启动新的Pod,直到成功为1。

悦分享 408

五阶段--Kubernetes运用

一 K8s 三个核心对象 1. Pod -- 包含多个docker容器 K8s 对Docker 容器的封装对象 (容器) 对Docker容器进行自动管理,控制 Pod对底层容器化技术进行解耦--该技术包括docker和containerd 2. 控制器 自动部署容器的工具--只需要指定部署容器的数量,它就会帮助创建部署 3.Service 对容器提供一个固定不变的访问地址 用户访问service地址,service会把请求进行转发到容器 二 初步尝试 kubernete...

weixin_58580280的博客 2081

k8s中控制器使用详解

k8s控制器

congge 7336

K8s ❉ 资源对象

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可以移植的镜像中,然后发布到任意系统中,实现虚拟化; 一个完整的Docker由四个部分组成: Client客户端 Daemon守护进程 Image镜像 Container容器 Docker有着比虚拟机更少的抽象层,由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用宿主机的硬件资源,因此在资源的占用上Docker有明显的优势; ...

wangjie72270的博客 960

Kubernetes 基础:Job 和 CronJob的使用

中的Job和CronJob是两种管理批处理任务的资源对象,分别用于控制短暂一次性任务和定时执行的周期性任务。‌Job和CronJob在Kubernetes中扮演着重要的角色,分别用于管理短暂一次性任务和定时执行的周期性任务,通过创建和管理Pod来执行这些任务,并提供了灵活的配置选项以满足不同的使用场景需求‌。Job‌:负责运行一个或多个Pod,并确保指定数量的Pod成功完成。Job可以创建多个Pod实例来并行处理任务,加速处理过程。

在技术的广袤天地里,本博客如精准罗盘。剖析前沿科技,深掘代码奥秘,以精炼笔触,带您穿越复杂技术迷宫,速达知识彼岸。 1708

从SN65HVD230芯片手册出发,手把手教你搞定3.3V CAN收发器电路(附典型应用图)

本文详细解析TI SN65HVD230芯片手册,指导完成3.3V CAN收发器电路设计。从关键参数解读到基础电路搭建,再到高级功能实现与EMC优化,提供完整的接口电路设计方案,并附典型应用图和故障排查指南,助力开发者提升CAN总线通信质量。

weixin_29997523的博客 516

K8s问答题(二)

答案:Deployment控制器通过管理ReplicaSet控制器来工作,并向 Pod 提供声明式的更新以及许多其它有用的功能,常见的用途是不停机更新,在需要对应用进行维护与升级时,直接创造新的具有升级后应用的Pod,接入连接的用户,直到以前Pod里旧容器的用户全部退出时,将旧的容器进行销毁,就完成了不中断服务的更新。答案:ReplicaSet是复制集,可以生成多个Pod的副本,目的是维护一组在任何时候都处于运行状态的 Pod 副本的稳定集合,用来保证给定数量的,完全相同的Pod的可用性。

zl3488977451的博客 346

【Apollo学习笔记】——规划模块TASK之SPEED_HEURISTIC_OPTIMIZER

在Apollo星火计划学习笔记——Apollo路径规划算法原理与实践与【Apollo学习笔记】——Planning模块讲到……Stage::Process的函数会依次调用task_list中的TASK,本文将会继续以LaneFollow为例依次介绍其中的TASK部分究竟做了哪些工作。由于个人能力所限,文章可能有纰漏的地方,还请批评斧正。在配置文件中,我们可以看到LaneFollow所需要执行的所有task。本文将继续介绍LaneFollow的第10个TASK——动态规划规划目标加速度尽可能小。

sinat_52032317的博客 3426

【kubernetes】关于k8s集群的pod控制器

1、statefulset用于部署有状态的应用(有实时数据需要存储的应用)2、部署statefulset之前,需要先创建一个headless service(表示clusterip为node的特殊service类型),statefulset的配置清单模板需要去指定servicename为headless service的名称。3、statefulset创建的pod名称是固定不变的,且唯一的。

liu_xueyin的博客 1675

Windows下飞桨PaddlePaddle 2.6.1 GPU版环境搭建全攻略(含CUDA 11.7配置避坑指南)

本文详细介绍了在Windows系统下搭建飞桨PaddlePaddle 2.6.1 GPU版环境的完整流程,特别针对CUDA 11.7和cuDNN的安装提供了避坑指南。从Anaconda环境配置、CUDA Toolkit安装到飞桨GPU版的验证,手把手帮助开发者高效完成深度学习环境搭建,解决常见问题并优化性能。

x8y9z0的博客 1096

别再乱删文件了!修复Print Spooler服务自动停止的3个关键检查点(附Win10/Win11实测)

本文深入解析Windows系统中Print Spooler服务自动停止的常见原因及修复方法。从第三方驱动冲突、权限与服务依赖关系到打印队列积压,提供3个关键检查点的详细排查步骤,帮助用户彻底解决打印服务异常问题,适用于Win10/Win11系统。

weixin_31569671的博客 680

Kubernetes:控制器 - Job

Kubernetes:控制器 - Job

weixin_46619605的博客 1736

LaTex的下载与安装(2024小白+windows系统)

本文主要介绍了Latex的下载与安装,还包括安装过程中遇到的小问题的解决。

m0_53096519的博客 2万+

k8s的五种控制器

一、k8s的五种控制器 1.k8s的控制器类型 Kubernetes中内建了很多controller(控制器),这些相当于一个状态机,用来控制Pod的具体状态和行为 1、deployment:适合无状态的服务部署 2、StatefullSet:适合有状态的服务部署 3、DaemonSet:一次部署,所有的node节点都会部署,例如一些典型的应用场景: 运行集群存储 daemon,例如在每个Node上运行 glusterd、ceph 在每个Node上运行日志收集 daemon,例如 fluentd、 l

I'm the best !!! 1万+

从Canny到深度学习:边缘检测指标进化史(含ODS/OIS/AP的数学推导)

本文系统梳理了边缘检测评估指标的演进历程,从经典的Canny算子到深度学习时代,重点解析了ODS、OIS和AP三大核心指标的设计哲学与数学推导。文章深入探讨了基于PR曲线的评估体系,揭示了不同指标(如ODS与OIS)在阈值优化上的差异,并分析了AP指标在边缘检测任务中的优势与局限,为算法研究和模型评估提供了实用指南。

b9c0d的博客 200

【软件逆向学习记录】x64dbg调试器入门2:主调试窗口功能及字符串搜索功能介绍

在x64dbg中, ​​CPU视图 是调试过程中最核心的界面,通常被称为​​主调试窗口​​或​​调试视图​​,总体分为四个区域,代码区(反汇编),数据区(内存窗口),寄存器区和堆栈区,详细位置如下图:示例数据代码区最左侧为内存地址,第二块区域为程序代码值,原始程序代码经编译和汇编后变为二进制机器码存储在计算机中,调试器将其展示为易于阅读的十六进制,第三块区域是机器码反汇编后的汇编代码,最右侧为代码的注释窗口,有一些原始的注释,也可以自己添加注释PS:汇编和反汇编解释。

tusikong的博客 2923

K8S之Job和CronJob控制器

使用Job和CronJob资源,用于管理Pod对象运行一次性或者周期性定时任务

weixin_40364776的博客 1483

高通平台 Android T 蓝牙技术全解析:A2DP 与 AVRCP 核心代码路径与交互流程

A2DP 接收端 - 连接流程(AVDTP 打开)

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 290

一、kubernetes k8s

k8s的全称:kubernetes k8sk8s的版本:1.301.20------------用的最多的版本,1.18-1.211.24------------>k8s的镜像不再使用docker,containerd。

2401_87896172的博客 3667

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Kubernetes(k8s)的Pod控制器Job和CronJob详细讲解

目录1. Job控制器1.1 概述1.2 Job的创建、查看、删除1.2.1 Job的创建1.2.2 Job的查看1.2.3 Job的删除2. CronJob控制器2.1 概述2.2 CronJob的创建、查看、删除2.2.1 CronJob的创建2.2.2 CronJob的查看2.2.3 CronJob的删除 1. Job控制器 1.1 概述 Job主要用于负责批量处理短暂的一次性任务 Job的特点: 当Job创建的Pod执行成功结束时,Job将记录成功结束的Pod数量 当成功结束的Pod达到指定的数量

Bulut0907 1972

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

第五章 Kubernetes Pod控制器-Job

Kubernets中,作为Pod控制器之一的Job,可以执行批处理任务。我们对Job的特性进行了讲解,并且对其特性做了实操演示。

1036

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: K8s: 控制器之DaemonSet对象和调度
下一篇: K8s: 持久化存储之卷, NFS卷
Wang's Blog
博客等级 码龄12年 7433粉丝 2421原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值