【kubernetes】Cronjob: 定时任务

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 【kubernetes】Cronjob: 定时任务

Cron JOb 的定时表达式,基本上照搬了 Linux Cron 的表达式,格式如下:


Miniute 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,则意味着第一次触发在第 5min 时,接下来每 20min 触发一次,将在第 25min,第 45min等时刻分别触发。


比如,我们要每隔 1min 执行一次任务,则 Cron 表达式如下:


*/1 * * * *




一、编辑 Cron Job 的配置文件


[root@k8s0 test_cornjob]# cat >cron.yaml<<EOF
apiVersion: batch/v1 
kind: CronJob
metadata:
  name: hello
spec: 
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: busybox:1.28
            imagePullPolicy: IfNotPresent
            command:
            - /bin/sh
            - -c
            - date; echo Hello QiJing from the kubernetes cluster
          restartPolicy: OnFailure
EOF




二、执行 Cron Job


[root@k8s0 test_cornjob]# kubectl create -f cron.yaml 
cronjob.batch/hello created



三、验证


image.png


可以看到,在“任务”面板确实每分钟都有一个任务在执行。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
存储 Kubernetes 负载均衡
【Kubernetes系统原理、核心资源、Pod原理与创建及生命周期管理、Job、Cronjob、Statefulset、Service负载均衡Ingress】
【Kubernetes系统原理、核心资源、Pod原理与创建及生命周期管理、Job、Cronjob、Statefulset、Service负载均衡Ingress】
391 2
|
13天前
|
Kubernetes Linux 调度
【赵渝强老师】K8s的周期性任务控制器CronJob
本文介绍了K8s中的CronJob控制器,它类似于Linux的crontab命令,用于管理和调度定时作业。CronJob可以设置在未来某一时间运行作业一次或在指定时间点重复运行作业。文章通过一个示例展示了如何创建和使用CronJob控制器,包括创建配置文件、应用配置、查看Pod信息和日志等步骤。同时,还解释了CronJob的时间表示方式及其限制。
|
6月前
|
Kubernetes Linux 调度
k8s-高级调度-CronJob 计划任务
k8s-高级调度-CronJob 计划任务
117 0
|
11月前
|
资源调度 Kubernetes 调度
从 Linux Crontab 到 K8s CronJob,定时任务正在经历怎样的变革
从 Linux Crontab 到 K8s CronJob,定时任务正在经历怎样的变革
118938 59
|
消息中间件 Kubernetes API
Kubernetes: Job 和 CronJob 的实现原理
Kubernetes: Job 和 CronJob 的实现原理
1119 0
Kubernetes: Job 和 CronJob 的实现原理
|
Kubernetes Cloud Native Ubuntu
【探索 Kubernetes|作业管理篇 系列 16】离线业务 Job、CronJob
大家好,我是秋意零。 在上一篇中,我们讲解了 DaemonSet 控制器,相信你以及理解了其的工作过程,分为三部。一是,获取所有 Node 节点中的 Pod;二是,判断是否有符合 DaemonSet 管理的 Pod;三是,通过“亲和性”和“容忍”来精确控制并保证 Pod 在目标节点运行。 今天的内容是 Job 与 CronJob 离线业务控制器。
419 1
|
监控 容器
阿里云ack集群部署定时任务cronjob
阿里云ack集群部署定时任务cronjob
阿里云ack集群部署定时任务cronjob
|
Kubernetes Linux 调度
十、kubernetes Job和CronJob
kubernetes Job和CronJob
442 0
|
Kubernetes Java Linux
Kubernetes必备知识: CronJob
CronJobs提供了在特定的时间或者间隔内处理业务逻辑的方法。一般创建一个Cronjob有两种方式,第一种是定义Java类,由Hybris生成脚本并加入数据库。第二种是直接编写groovy脚本语言并插入数据库,这种应该适合逻辑比较少的时候,比如只有一两句逻辑的时候,一般用得比较少。
1667 0
Kubernetes必备知识: CronJob
|
Kubernetes 容器 Perl
Kubernetes中使用CronJob定时备份etcd集群数据
kubernetes中部署的应用的信息都存放在etcd里面,这里面的数据非常重要,需要备份,以备不时之需。 这里使用k8s提供的定时任务来执行备份任务,定时任务的pod要和etcd的pod要在同一个node上面(使用nodeAffinity)。
2454 0