k8s教程(pod篇)-定时任务
文章目录
- 01 引言
- 02 基本语法
- 03 案例
- 04 文末
01 引言
声明:本文为《Kubernetes权威指南:从Docker到Kubernetes实践全接触(第5版)》的读书笔记
Kubernetes从1.5版本开始增加了一种新类型的Job,即类似Linux Cron的定时任务Cron Job
,下面看看如何定义和使用这种类型的Job
。
02 基本语法
首先,确保
Kubernetes
的版本为1.8
及以上。
Cron Job的定时表达式基本上照搬了Linux Cron的表达式,格式如下:
Minutes Hours DayofMonth Month DayofWeek
其中每个域都可出现的字符如下。
域 | 描述 |
---|---|
Minutes |
可出现“,” “-” “*” “/” 这4个字符,有效范围为0~59 的整数
|
Hours |
可出现“,” “-” “%” “/” 这4个字符,有效范围为0~23 的整数
|
DayofMonth |
可出现“,” “- “*” “/“ “?” “L” “W“ “C” 这8个字符,有效范围 为1~31 的整数
|
Month |
可出现“,” “-” “*” “/” 这4个字符,有效范围为1~12的整数或JAN~DEC
|
DayofWeek |
可出现“,” “*” “/” “?” “L” “C” “#” 这8个字符,有效范围为1~7 的整数或SUN~SAT 。1 表示星期天,2 表示星期一,以此类推
|
表达式中的特殊字符“*”
与“/”
的含义如下:
*
:表示匹配该域的任意值,假如在Minutes
域使用“*”
,则表示每分钟都会触发事件;/
:表示从起始时间开始触发,然后每隔固定时间触发一次,例如在
Minutes域设置为5/20,则意味着第1次触发在第5min时,接下来每20min触发一 次,将在第25min、第45min等时刻分别触发。
03 案例
比如,我们要每隔1min
执行一次任务,则Cron表达式如下:
*/1 * * * *
编写一个Cron Job的配置文件(cron.yaml
):
apiversion: batch/vl beta
kind: CronJob
metadata:name: hello
spec:schedule: "*/1 * * * *"jobTemplate:spec:template:spec:containers:- name:helloimage:busyboxargs:- /bin/sh- -C- date;echo Hello from the Kubernetes cluster restartPolicy:OnFailure
该例子定义了一个名为hello
的Cron Job
,任务每隔1min执行一次,运行的镜像是busybox
,运行的命令是Shell
脚本,脚本运行时会在控制台输出当前时间和字符串"Hello from the Kubernetes cluster".
接下来运行kubectl create
命令完成创建:
$ kubectl create -f cron.yaml cronjob "hello"created
然后每隔1min
运行kubectl get cronjob hello
查看任务状态,发现的确每分钟调度了一次:
还可以通过查找Cron Job对应的容器,验证每隔1min产生一个容器的事实:
查看任意一个容器的日志,结果如下:
运行下面的命令,可以更直观地了解Cron Job定期触发任务执行的历史和现状:
在Kubernetes1.9
版本后,kubectl
命令增加了别名cj
来表示cronjob
,同时 kubectl set image/env
命令也可以作用在CronJob
对象上。
04 文末
本文主要讲解pod的定时任务调度,希望能帮助到大家,谢谢大家的阅读,本文完!
k8s教程(pod篇)-定时任务相关推荐
- k8s教程(pod篇)-定向调度
文章目录 01 引言 02 举例 Step1:给Node打上标签 Step2:Pod指定NodeSelector Step3:验证 03 预定义的标签 04 文末 01 引言 声明:本文为<Ku ...
- k8s教程(Volume篇)-PVC详解
文章目录 01 引言 02 PVC详解 2.1 参数配置 2.1.1 资源请求(Resources) 2.1.2 访问模式 (Access Modes) 2.1.3 存储卷模式(Volume Mode ...
- k8s教程(Volume篇)-PV详解
文章目录 01 引言 02 PV详解 2.1 示例配置详解 2.1.1 存储容量 (Capacity) 2.1.2 存储卷模式 (Volume Modes) 2.1.3 访问模式 (Access Mo ...
- k8s查看pod的yaml文件_每天5分钟|轻松掌握开发工作中必会的k8s-yaml配置说明和常用命令...
在 K8S 中,创建资源有两种方式: 方式一:使用kubectl 命令行,在输入kubectl命令的时候,填上对应的参数 优点:方便快捷,一行命令搞定 缺点:一行命令太多参数,可读性差,不利于维护 方 ...
- 【云原生 | Kubernetes 实战】18、K8s 安全实战篇之 RBAC 认证授权(上)
目录 一.k8s 安全管理:认证.授权.准入控制概述 1.1 认证 认证基本介绍 授权基本介绍 准入控制基本介绍 为什么需要准入控制器呢? k8s 客户端访问 apiserver 的几种认证方式 ku ...
- K8S实战基础篇:一文带你深入了解K8S实战部署SpringBoot项目
K8S实战基础篇:一文带你深入了解K8S实战部署SpringBoot项目 1.前言 2.简介 2.1.为什么写这篇文章 2.2.需求描述 2.3.需求分析 3. 部署实战 3.1 环境准备 3.2 i ...
- 万字长文:K8s 创建 pod 时,背后到底发生了什么?
本文基于 2019 年的一篇文章What happens when ... Kubernetes edition![1]梳理了 K8s 创建 pod(及其 deployment/replicaset) ...
- 【云原生 | Kubernetes 实战】18、K8s 安全实战篇之 RBAC 认证授权(下)
目录 一.常见角色(role)授权的案例 1.1 允许读取核心 API 组的 Pod 资源 1.2 允许读写 apps API 组中的 deployment 资源 1.3 允许读取 Pod 以及读写 ...
- 【B站、西瓜抖音视频课件】Docker K8S教程
title: Docker&K8S教程 date: 2023-03-13 18:33:19 tags: [K8S,Docker] categories: [K8S] 网络策略 1.3开始提供 ...
- k8s中pod的重启策略和健康检查
目录 k8s中pod的重启策略 pod中一共有以下三个重启策略(restartPolicy) 健康检查: 健康检查类型 支持的检查方法: 检查示例 其他检查方式示例 k8s中pod的重启策略 pod中 ...
最新文章
- 冠军杜兰特和Deta比赛
- 低通滤波器转带通滤波器公式由来_?OPA627AP 高通滤波器
- .Net Core上用于代替System.Drawing的类库
- 模板:割点、桥与双连通
- Elasticsearch环境搭建和介绍(Windows)
- LINUX下载编译FreeType
- Restlet 学习笔记
- matlab计算abc三相短路电流_不用到处问别人了,关于变压器的相关计算公式,都在这里!收藏好...
- oracle adjusting parallel,ora-29740故障求救
- arcgis engine已知图幅号获取比例尺
- 动手打造N合1操作系统安装光盘
- JavaScript计算圆周率(解析几何+定积分)
- [计算机组成原理]-32/64位、寻址能力
- 1688电商API接口-无需多个 电商平台单独对接
- Android 渐变色背景样式
- vs2015安装Qt插件问题
- 淘宝直播基地是什么?
- 微软雅黑html中怎么写,网页中使用微软雅黑字体(css调用微软雅黑)
- 开发者藏经阁——超全阿里系电子书大合集(打包下载)
- 常用的思维导图软件(转载)