k8s-第十一节-Job和CronJob

Job

Kubernetes jobs主要是针对短时和批量的工作负载。它是为了结束而运行的,而不是像deployment、replicasets、replication controllers和DaemonSets等其他对象那样持续运行。

Kubernetes Jobs会一直运行到Job中指定的任务完成。也就是说,如果pods给出退出代码0,那么Job就会退出。而在正常的Kubernetes中,无论退出代码是什么,deployment对象在终止或出现错误时都会创建新的pod,以保持deployment的理想状态。

CronJob

Job 和 CronJob 都是 Kubernetes 中的资源对象,用于定义需要执行的任务。它们的主要区别在于执行频率和触发条件。

Job 用于执行一次性任务,即仅执行一次的任务。Job 对象会创建一个或多个 Pod,并在它们完成任务后删除它们。Job 的生命周期由 Kubernetes 自动管理,无需人工干预。

CronJob 用于执行周期性任务,即按照指定的时间间隔重复执行的任务。CronJob 对象会创建一个或多个 Job,并根据 Cron 表达式来确定任务的执行时间。CronJob 的生命周期由 Kubernetes 自动管理,无需人工干预。

时间周期是和Linux 一样

schedule: "分 时 日 月 周"

适用场景

对于Kubernetes Jobs最好的用例实践是:

批处理任务: 比如说你想每天运行一次批处理任务,或者在指定日程中运行。它可能是像从存储库或数据库中读取文件那样,将它们分配给一个服务来处理文件。

运维/ad-hoc任务: 比如你想要运行一个脚本/代码,该脚本/代码会运行一个数据库清理活动,甚至备份一个Kubernetes集群。

  • 一次性任务,例如数据导入、数据处理、批量任务等
  • 定时任务,例如定期备份数据、定期发送通知等
  • 批量任务,例如处理大量数据、发送大量通知等

如何在 Kubernetes 中使用 Job 和 CronJob 资源对象?

apiVersion: batch/v1
kind: Job
metadata:name: my-job
spec:template:spec:containers:- name: my-containerimage: my-imagecommand: ["echo", "Hello, World!"]restartPolicy: OnFailure

然后,你可以使用以下命令来创建和部署这个 Job 对象:

kubectl create -f job.yaml

如果你想要创建一个 CronJob 对象来执行一个周期性任务,你可以创建一个名为 cronjob.yaml 的文件,其中包含以下内容:

apiVersion: batch/v1beta1
kind: CronJob
metadata:name: my-cronjob
spec:schedule: "0 0 * * *"jobTemplate:spec:template:spec:containers:- name: my-containerimage: my-imagecommand: ["echo", "Hello, World!"]restartPolicy: OnFailure

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

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

相关文章

Pandas 学习笔记(四)--CSV文件

CSV文件 CSV(Comma-Separated Values,逗号分隔值,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。 读取与写入 读取csv文件 i…

可视化作品集(08):能源电力领域

能源电力领域的可视化大屏,有着巨大的用武之地,不要小看它。 监控能源生产和消耗情况: 通过可视化大屏,可以实时监控能源生产和消耗情况,包括发电量、能源供应情况、能源消耗情况等,帮助管理者及时了解能…

C语言 | Leetcode C语言题解之第218题天际线问题

题目: 题解: struct pair {int first, second; };struct Heap {struct pair* heap;int heapSize;bool (*cmp)(struct pair*, struct pair*); };void init(struct Heap* obj, int n, bool (*cmp)(struct pair*, struct pair*)) {obj->heap malloc(si…

调制信号识别系列 (一):基准模型

调制信号识别系列 (一):基准模型 说明:本文包含对CNN和CNNLSTM基准模型的复现,模型架构参考下述两篇文章 文章目录 调制信号识别系列 (一):基准模型一、论文1、DL-PR: Generalized automatic modulation classification method b…

软件架构之操作系统

第 2 章操作系统 本章主要介绍操作系统的基本概念及其形成、发展历史和主要类型,并指出操作系统的5 大管理功能。掌握操作系统原理的关键在于深入理解“一个观点、两条线索”。一个观点是以资源管理的观点来定义操作系统;两条线索是指操作系统如何管理计…

【计算机毕业设计】020基于weixin小程序订餐系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

C语言获取当前时间

一共有两段代码&#xff0c;一个是获取当前时间&#xff0c;一个是获取到现在的总毫秒数 求关注&#x1f604; 互粉必回 获取当前时间 #include <stdio.h> #include <time.h> int main() { time_t rawtime; struct tm * timeinfo; char buffer[20]; // 获取当前…

Linux内核编译与调试menuos-linux-3.18.6-在ubuntu20.04环境

1 具体操作 下载 linux-3.18.6内核 wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.18.6.tar.xz解压进入linux-3.18.6文件夹 tar -xvf linux-3.18.6.tar.xz cd linux-3.18.6/编译 #make x86_64_defconfig # 为x86_64生成配置 #make alldefconfig make i3…

每天一个数据分析题(四百零十)- 主成分

实际应用中&#xff0c;关于主成分数量K的取值&#xff0c;下列说法错误的是&#xff08; &#xff09; A. 可以基于碎石图进行判断 B. 特征根从大到小排序&#xff0c;通常要求前 K 个特征根都大于 1 C. 通常要求 K 个主成分的累积方差比超过 80% D. 各个主成分之间的方向…

什么是区块链的“智能合约”

区块链的“智能合约”是一种存储在区块链上的计算机协议&#xff0c;它能够自动执行合约条款&#xff0c;并在满足预设条件时自动执行相关操作。智能合约通过编程语言&#xff08;如Solidity&#xff09;编写&#xff0c;可以在去中心化的环境中运行&#xff0c;无需人工干预。…

spdlog一个非常好用的C++日志库(七): 源码分析之异常类spdlog_ex

目录 1.自定义异常类spdlog_ex 1.1.通用异常 1.2.系统调用异常 1.3.what()函数 2.异常的使用 2.1.抛出异常 2.2.控制异常使用 1.自定义异常类spdlog_ex 标准库异常类&#xff08;std::exception&#xff09;系列&#xff0c;能满足大多数使用异常的场景&#xff0c;但对…

100359.统计X和Y频数相等的子矩阵数量

1.题目描述 给你一个二维字符矩阵 grid&#xff0c;其中 grid[i][j] 可能是 X、Y 或 .&#xff0c;返回满足以下条件的子矩阵数量&#xff1a; 包含 grid[0][0]X 和 Y 的频数相等。至少包含一个 X。 示例 1&#xff1a; 输入&#xff1a; grid [["X","Y",…

Avalonia中的样式

文章目录 前言样式定义代码切换样式样式主题前言 Avalonia的样式是Styles,与WPF类似。用于在控件之间共享属性设置用于在控件之间共享属性设置,样式由 Selector和属性组成。 样式定义 下面定义一个最简单的样式 <Window.Styles><Style Selector="TextBlock…

双 Token 无感刷新机制实现

✅作者简介&#xff1a;热爱Java后端开发的一名学习者&#xff0c;大家可以跟我一起讨论各种问题喔。 &#x1f34e;个人主页&#xff1a;Hhzzy99 &#x1f34a;个人信条&#xff1a;坚持就是胜利&#xff01; &#x1f49e;当前专栏&#xff1a;项目实践 &#x1f96d;本文内容…

微信小程序性能与体验优化

1. 合理的设置可点击元素的响应区域大小&#xff1b; 比较常见的是页面的点击按钮太小&#xff0c;用户点击不到按钮&#xff0c;这样用户体验很不好。 2. 避免渲染页面耗时过长&#xff1b; 当页面渲染时间过长的话&#xff0c;会让用户感觉非常卡顿&#xff0c;当出现这种…

密室逃脱——收集版修改测试

一、原版修改 1、导入资源 Unity Learn | 3D Beginner: Complete Project | URP 2、设置Scene 删除SampleScene&#xff0c;打开UnityTechnologies-3DBeginnerComplete下的MainScene 3、降低音量 (1) 打开Hierarchy面板上的Audio降低音量 (2) 打开Prefabs文件夹&#xf…

lnmp php7 安装ssh2扩展

安装ssh2扩展前必须安装libssh2包 下载地址: wget http://www.libssh2.org/download/libssh2-1.11.0.tar.gzwget http://pecl.php.net/get/ssh2-1.4.tgz &#xff08;这里要换成最新的版本&#xff09; 先安装 libssh2 再安装 SSH2: tar -zxvf libssh2-1.11.0.tar.gzcd libss…

若依框架(RuoYi)中实现部门及子部门用户查询的SQL逻辑解析

前言 在基于若依框架&#xff08;RuoYi&#xff09;的项目开发中&#xff0c;经常会遇到需要根据部门ID查询其下属所有用户的需求&#xff0c;包括直接隶属于该部门的用户以及属于其子部门的所有用户。这一需求在组织架构管理、权限分配等场景中尤为常见。本文将深入解析一段典…

【深入理解计算机系统——2信息的表示和处理】

计算机的本质就是二进制&#xff0c;0/1&#xff0c;称之为bit&#xff08;位&#xff09;&#xff0c;一个位没有什么意义&#xff0c;当同时拥有多个位&#xff0c;并且加上某种解释&#xff0c;就可以表示任何有限集合的元素。&#xff08;为什么是有限&#xff1f;因为用bi…

【日志信息管理】管理日志信息的类

日志用于记录程序的执行记录包括程序的出错记录&#xff0c;程序致命退出原因&#xff0c;程序的正常执行记录。这样我们就可以很快的察觉程序的错误原因、执行状况等等&#xff0c;因此管理日志信息是非常重要的。 日志一般由以下部分组合&#xff1a; 日志时间、日志等级、…