kubernetes之CronJob介绍
在进行任务自动化的时候,Hadoop生态中有Oozie可以用来管理workflow,但是如果我们的任务是通过pod部署在了kubernetes上的话,我们就可以利用cronJob来进行job的定时与周期性的运行。
CronJob是用来管理基于时间的Job,即:
1 在给定的时间点运行一次Job
2 周期性的在给定的时间点运行
其中指定周期的字段为spec.schedule,指定Job的字段为spec.jobTemplate,这两个字段也是必选字段,可以在yaml文件中定义。
CronJob的启动条件:
在k8s 1.8以及更高的版本中的环境中,API server要求的版本为apiVersion: batch/v1beta1,但是这个一般是默认的。当然了,对于之前的版本也可以利用--runtime-config=batch/v2alpha1=true来修改,然后重启API server服务。
运行过程:
我们利用官方的demo,其中下面是cronjob.yaml:
主要功能是:每分钟创建一个job,这个job的功能就是输出Hello World
apiVersion: batch/v1beta1
kind: CronJob
metadata:name: test
spec:schedule: "*/1 * * * *"jobTemplate:spec:template:spec:containers:- name: testimage: docker.hobot.cc/library/centos:7.4args:- /bin/sh- -c- echo Hello WorldrestartPolicy: OnFailure
创建cronJob:
查看test pods的创建状态:
在这里每一个任务都是输出一个hello world之后job就结束了,所以CronJob会自动清理结束的任务。
CronJob在每次调度运行的周期内会出现大概创建一个Job的情况,就是可能创建一个,也有可能创建多个,或者一个都不创建,就是一种大概的情况。K8S官方正在避免这种事情发生。
如果startingDeadlineSeconds(启动Job的期限:如果在这个期限中没有被调度起来,那么错过时间的Job就认为是失败的)设置的值较大,并且concurrencyPolicy(是否可以并行,就是当上一个job还没有启动成功的时候下一个是否可以并行启动,默认是可以的)设置可以并行,那么任务就每次至少启动一个。一般情况下需要将startingDeadlineSeconds设置较大或者默认,这样不会导致任务创建不出来。
删除CronJob:
删除的时候,会终止正在创建以及结束的Job,运行中的就不会被删除。
Crontab的基本格式
<分钟> <小时> <日> <月份> <星期> <命令>
- 分钟 值从 0 到 59.
- 小时 值从 0 到 23.
- 日 值从 1 到 31.
- 月 值从 1 到 12.
- 星期 值从 0 到 6, 0 代表星期日
多个时间可以用逗号隔开,范围可以用连字符给出,*可以作为通配符。空格用来分开字段。
kubernetes之CronJob介绍相关推荐
- Kubernetes中StatefulSet介绍
原文链接:Kubernetes中StatefulSet介绍 StatefulSet 是Kubernetes1.9版本中稳定的特性,本文使用的环境为 Kubernetes 1.11.如何搭建环境可以参考 ...
- Kubernetes(K8s)Events介绍(上)
Kubernetes Events虽不常被提起,却意义非凡.它存储在Etcd里,记录了集群运行所遇到的各种大事件.本系列文章将一步一步地揭开Kubernetes Events的神秘面纱. 师出有名 前 ...
- Kubernetes 探针使用介绍
Kubernetes 探针使用介绍 一.基本介绍 二.K8s 探针使用介绍 一.基本介绍 当我们在 K8s 上运行应用时,应用是否运行正常这是我们比较关心的,但是如果我们只是通过查看应用的运行状态,这 ...
- kubernetes各组件介绍
文章目录 一. kubernetes 是什么 1. 基础架构图 2. kubernetes 各组件介绍 2.1 master 组件 :one: Kubernetes API Server(kube-a ...
- Kubernetes 核心概念介绍
云计算.容器化以及容器编排是 DevOps 中最重要的发展趋势,无论你是数据科学家.软件开发者还是产品经理,了解 Docker 和 Kubernetes 的基本概念总是有好处的,二者可以帮助你与他人协 ...
- kubernetes之Cronjob应用和踩坑
Cron Job 是什么? Cron Job 管理基于时间的 job,即: 在给定时间点只运行一次 在给定时间点周期性地运行 一个 CronJob 对象类似于 crontab (cron table) ...
- Serverless Kubernetes 容器服务介绍
作者 | 张维 阿里巴巴高级技术专家 导读:Serverless Kubernetes 是以容器和 kubernetes 为基础的 Serverless 服务,它提供了一种简单易用.极致弹性.最优成本 ...
- kubernetes dev client-go 介绍
文章目录 1. 简介 2. Setup 3. 连接 API Server 4. 创建一个clientset 5. 获取集群的PVC列表 6. 监听集群中pvc 6.1 启动监听功能 6.2 循环事件 ...
- 容器云系列之Kubernetes基本架构介绍
K8S是开源的容器编排引擎,支持自动化部署.大规模可伸缩.应用容器化管理,有助于运维人员进行资源的自动化管理和利用率最大化.本文是基于张建锋老师容器技术培训关于K8S的有关总结和整理,以加深学习了解. ...
最新文章
- 2013年7月27日杂记
- ksu7对讲机调频软件_科普 | 数字对讲机的群呼功能原理是什么?你了解多少?...
- linux私有组信息存放在哪,【Linux】Linux私有组,主要组和附加组
- ld 用法:gcc 过程最后一步-链接
- AD域环境的搭建 基于Server 2008 R2
- iPhone SplitViewController
- js html 单引号,JS 和 HTML 中的单引号与双引号
- Netlink 0003 -- Netlink动手实践
- 区块链java项目_JAVA区块链项目实战(示例代码)
- 使用POI实现报表打印功能
- 计算机技术比武优秀获奖感言,教学大赛获奖感言4篇
- MySQL实战第二十二讲-MySQL有哪些“饮鸩止渴”提高性能的方法?
- php风格模板,phpwind冷色调整站风格模板
- 人物画像————圆球转动效果
- android bea拷贝,从Android开发中学到一些东西
- android网购功能,网购Android App购物车点击动画实现详解
- [VCS]filelist.list的做法
- 一篇文章彻底弄懂零拷贝底层原理
- mysql 多表 结构相同 查询
- 学校招聘行政老师的计算机能力测试,【】计算机教师招聘试题(25页)-原创力文档...
热门文章
- 招聘时那些看似高大上的要求,其实说的是这个(大白话+实体吐槽版)
- 热管理设计Taitherm (ex-Radtherm) v12.1.1 Win64 Linux64 2CD
- Within-sample variability-invariant loss for robust speaker recognition under noisy environments
- 如何分析个股基本面_个股的基本面分析_如何看个股的基本面
- Python3菜鸟教程(5):list的基本操作和技巧
- golang 获取一天前,一个月前,一年前的日期
- Spring Boot实现 RabbitMQ教程【1】
- 战争游戏红龙修改手册
- Javascript--04 JavaScript的内部对象
- pythongui学生管理系统不需要链接数据库的完整代码_毕设——Python实现带GUI和连接数据库的图书管理系统!...