资源创建方式-Job

  1. Job:
    1. 容器按照持续运行的时间可分为两类,服务类容器,和工作类容器

    2. 服务类容器通常持续提供服务,需要一直运行,比如HTTP,Server,Daemon等,

    3. 工作类容器则是一次性任务,比如批处理程序,完成后容器就退出

    4. kubernetes的Deployment,ReplicaSet和DaemonSet都用于管理服务类容器,对于工作类容器,使用Job

    5. myjob.yam配置解析

      1. batch/v1是当前Job的apiVersion
      2. 指明当前资源的类型为Job
      3. restartPolicy指定什么情况下需要重启容器,对于Job,只能设置为Never或者OnFailure,对于其他controller,比如Deployment,可以设置为Always
      4. 通过kubectl apply -f myjob.yml启动Job
    6. 通过kubectl get job 查看Job的状态在这里插入图片描述

      1. desired和successful都为1,表示按照预期启动了一个pod,并且已经成功执行,通过kubectl get pod 查看pod的状态在这里插入图片描述

      2. 因为pod执行完毕后容器已经退出,需要用–show-all才能看到Completed状态的Pod

      3. 通过kubectl logs可以查看Pod的标准输出在这里插入图片描述

    7. Pod失败的情况

      1. 修改myjob.yml,故意引入一个错误在这里插入图片描述

      2. 先删除之前的job在这里插入图片描述

      3. 运行新的job并查看状态在这里插入图片描述

      4. 当前successful的Pod数量为0,查看Pod的状态在这里插入图片描述

      5. 可以看到有多个Pod,状态均为不正常,通过kubectl describe pod查看某个pod的启动日志在这里插入图片描述

      6. 日志显示没有可执行程序

      7. 为什么kubectl get pod会看到多个失败的pod?

        1. 当第一个pod启动时,容器失败退出,根据restartPolicy:Never,此容器失败不会被重启,但Job desired的pod是1,目前successful为0,不满足,所以job controller会启动新的Pod,直到successful为1,对于这上面的例子而言,successful永远也到不了1,所以Job controller会一直创建新的Pod,为了终止这个行为,只能删除Job在这里插入图片描述
      8. 将restartPolicy设置为OnFailure,修改myjob。yml后重新启动在这里插入图片描述

        1. Job的successful的pod的数量还是0,再看Pod的状态在这里插入图片描述
        2. 这里只有一个Pod,不过restarts为3,而且不断增加,说明OnFailure生效,容器失败后会自动重启
      9. Job的并行性

        1. 如果希望能同时运行多个Pod,提高Pod的执行效率,可以通过parallelism设置在这里插入图片描述

        2. 将并行的Pod数量设置为2,可以看到job一共启动了两个Pod,而且age相同在这里插入图片描述

        3. 通过completions设置Job成功完成Pod的总数在这里插入图片描述

        4. 上面配置的含义是:每次运行两个Pod,直到总共有6个Pod成功完成在这里插入图片描述

        5. desired和successful均为6,符合预期,如果不指定completions和parallelism,默认值都为1

        6. 对于批处理程序,每个副本Pod都会从任务池中读取任务并执行,副本越多,执行时间就越短,效率就越高,这种场景可以使用Job来实现

      10. 定时Job

        1. linux中有cron程序定时执行任务,kubernetes的CronJob提供了类似的功能,可以定时执行Job,

        2. 在这里插入图片描述

        3. 配置解读

          1. batch/v2alpha1是当前CronJob的apiVersion

          2. 指明当前资源的类型为CronJob

          3. schedule指定什么时候运行Job,其格式与Linux cron一致,这里的*/1 * * * *的含义是每一分钟启动一次

          4. jobTemplate定义Job的模板,格式与前面的Job一致

          5. 通过kubectl apply创建CronJob,然后失败在这里插入图片描述

          6. 是因为kubernetes默认没有enable CronJob功能,需要在kube-apiserver中加入这个功能,修改kube-apiserver的配置文件/etc/kubernetes/manifests/kubeapiserver.yaml在这里插入图片描述

          7. kube-apiserver本身也是一个pod,在启动参数中加上–runtime-config=batch/v2alpha1=true即可,然后重启kubelet服务:systemctl restart kubelet.service。kubelet会重启kube-apiserver Pod,通过kubectl api-versions确认kube-apiserver现在已经支持batch/v2alpha1在这里插入图片描述

          8. 再次创建CronJob在这里插入图片描述

          9. 通过kubectl get cronjob查看CronJob的状态在这里插入图片描述

          10. 等待几分钟,查看job的状态在这里插入图片描述

          11. 可以看到每隔一分钟就会启动一个Job,执行kubectl logs查看某个Job的运行日志在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

stm32单片机个人学习笔记7(TIM定时中断)

前言 本篇文章属于stm32单片机(以下简称单片机)的学习笔记,来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。 STM32入门教程-2023版 细…

数值计算 --- 平方根倒数快速算法(中)

平方根倒数快速算法 --- 向Greg Walsh致敬! 1,平方根倒数快速算法是如何选择初值的?WTF中的神秘数字究竟是怎么来的? 花开两朵,各表一枝。在前面的介绍中,我们已经知道了这段代码的作者在函数的最后使用了NR-iteratio…

Python办公自动化教程(003):PDF的加密

【1】代码 from PyPDF2 import PdfReader, PdfWriter# 读取PDF文件 pdf_reader PdfReader(./file/Python教程_1.pdf) pdf_writer PdfWriter()# 对第1页进行加密 page pdf_reader.pages[0]pdf_writer.add_page(page) # 设置密码 pdf_writer.encrypt(3535)with open(./file/P…

mybatis 配置文件完成增删改查(四) :多条件 动态sql查询

文章目录 就是你在接收数据时,有的查询条件不写,也能从查到相应的stauts也可能为空恒等式标签 代替where关键字 就是你在接收数据时,有的查询条件不写,也能从查到相应的 注意是写字段名 还是 属性名 companyName不写也能查出满足…

亚马逊IP关联揭秘:发生ip关联如何处理

在亚马逊这一全球领先的电商平台上,IP关联是一个不可忽视的问题,尤其是对于多账号运营的卖家而言。本文将深入解析亚马逊IP关联的含义、影响以及应对策略,帮助卖家更好地理解和应对这一问题。 什么是亚马逊IP关联? 亚马逊IP关联…

9.22算法题数组篇

数组的遍历 485.最大连续1的个数 题解 class Solution {public int findMaxConsecutiveOnes(int[] nums) {int maxcount0,count0;for (int i 0;i<nums.length;i){if(nums[i]1){count;}else{maxcountMath.max(maxcount,count);count0;}}maxcountMath.max(maxcount,count);r…

2024AI做PPT软件如何重塑演示文稿的创作

现在AI技术的发展已经可以帮我们写作、绘画&#xff0c;最近我发现了不少ai做ppt的工具&#xff01;不体验不知道&#xff0c;原来合理使用AI工具可以有效的帮我们进行一些办公文件的编写&#xff0c;提高了不少工作效率。如果你也有这方面的需求就接着往下看吧。 1.笔灵AIPPT…

linux-----进程控制

提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、fork()函数 返回值&#xff1a;子进程返回0&#xff0c;父进程返回子进程的id,出错就返回-1. fork创建子进程&#xff0c;如果父子一方发生写入时&#xff0c;就会发生写实拷贝&#xff0c;操作系统就…

【AD24报错】PCB调整线宽后提示 Width Constraint: Track ### on Top Layer的解决方案

【AD24报错】PCB调整线宽提示Width Constraint: Track&#xff08;##mil, ##mil&#xff09;&#xff08;##mil, ##mil&#xff09;on Top Layer的解决方案 一、Width Constraint问题复现二、有关于Width Constraint的解决方案三、可能导致 Width Constraint 报错的其他因素&am…

C++初阶:STL详解(六)——list的介绍和使用

✨✨小新课堂开课了&#xff0c;欢迎欢迎~✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C&#xff1a;由浅入深篇 小新的主页&#xff1a;编程版小新-CSDN博客 前言&#xff1a; 前面我们已经了解了strin…

c++----io流

提示&#xff1a;以下 是本篇文章正文内容&#xff0c;下面案例可供参考 1.标准io流 (1)数据的循环输入 对于内置类型&#xff1a;cin和cout直接使用&#xff0c;c已经重载了 (2)对于自定义类型&#xff1a; 需要我们自己对类型进行重载 2.文件io流 ifstream ifile(只输入…

机器学习中结构风险最小化的正则化项用途及原理详解

一、概述 数学和工程领域&#xff0c;正则(Regularize)意味着使某物标准化或规范化&#xff0c;在机器学习领域指的是使模型的行为更加规范化&#xff0c;以避免极端或过于复杂的模型。 正则化项&#xff08;Regularization Term&#xff09;是机器学习模型中用于控制模型复杂…

力扣72-编辑距离(Java详细题解)

题目链接&#xff1a;力扣72-编辑距离 前情提要&#xff1a; 因为本人最近都来刷dp类的题目所以该题就默认用dp方法来做。 dp五部曲。 1.确定dp数组和i下标的含义。 2.确定递推公式。 3.dp初始化。 4.确定dp的遍历顺序。 5.如果没有ac打印dp数组 利于debug。 每一个dp…

鸿蒙OpenHarmony【轻量系统内核扩展组件(动态加载)】子系统开发

基本概念 在硬件资源有限的小设备中&#xff0c;需要通过算法的动态部署能力来解决无法同时部署多种算法的问题。以开发者易用为主要考虑因素&#xff0c;同时考虑到多平台的通用性&#xff0c;LiteOS-M选择业界标准的ELF加载方案&#xff0c;方便拓展算法生态。LiteOS-M提供类…

微信小程序认证流程

官方描述&#xff1a; 微信接口服务&#xff1a;即微信服务器。 具体的流程如下&#xff1a; 1.前端调用wx.login()获取登录凭证code 2.前端请求后端进行认证&#xff0c;发送code 3.后端请求微信获取openid 4.后端生成认证成功凭证返回给前端。 说明 调用 wx.login() 获…

【二等奖论文】2024年华为杯研赛C题54页成品论文(后续会更新)

您的点赞收藏是我继续更新的最大动力&#xff01; 一定要点击如下的卡片&#xff0c;那是获取论文的入口&#xff01; 点击链接获取【2024华为杯研赛资料汇总】&#xff1a;https://qm.qq.com/q/Nr0POlQGc2https://qm.qq.com/q/Nr0POlQGc2 摘 要&#xff1a; 随着国民经济发…

简易CPU设计入门:取指令(一),端口列表与变量声明

取指令这一块呢&#xff0c;个人觉得&#xff0c;不太好讲。但是呢&#xff0c;不好讲&#xff0c;我也得讲啊。那就尽量地讲吧。如果讲得不好的话&#xff0c;那么&#xff0c;欢迎大家提出好的意见&#xff0c;帮助我改进讲课的质量。 首先呢&#xff0c;还是请大家去下载本…

nodejs基于vue电子产品商城销售网站的设计与实现 _bugfu

目录 技术栈具体实现截图系统设计思路技术可行性nodejs类核心代码部分展示可行性论证研究方法解决的思路Express框架介绍源码获取/联系我 技术栈 该系统将采用B/S结构模式&#xff0c;开发软件有很多种可以用&#xff0c;本次开发用到的软件是vscode&#xff0c;用到的数据库是…

FiBiNET模型实现推荐算法

1. 项目简介 A031-FiBiNET模型项目是一个基于深度学习的推荐系统算法实现&#xff0c;旨在提升推荐系统的性能和精度。该项目的背景源于当今互联网平台中&#xff0c;推荐算法在电商、社交、内容分发等领域的广泛应用。推荐系统通过分析用户的历史行为和兴趣偏好&#xff0c;预…

java项目之线上辅导班系统的开发与设计

项目简介 基于springboot的线上辅导班系统的开发与设计的主要使用者分为&#xff1a; 管理员在后台主要管理字典管理、论坛管理、公开课管理、课程管理、课程报名管理、课程收藏管理、课程留言管理、师资力量管理、用户管理、管理员管理等。 &#x1f495;&#x1f495;作者&a…