运行一次性任务与定时任务

运行一次性任务与定时任务

文章目录

  • 运行一次性任务与定时任务
    • @[toc]
    • 一、使用Job运行一次性任务
      • 1.创建一次性任务
      • 2.测试一次性任务
      • 3.删除Job
    • 二、使用CronJob运行定时任务
      • 1.创建定时任务
      • 2.测试定时任务
      • 3.删除CronJob

一、使用Job运行一次性任务

1.创建一次性任务

(1)创建Job配置文件

[root@master ~]# cat picalc-job.yaml 
apiVersion: batch/v1       # 如果Kubernetes版本低于1.21,则改用batch/v1beta1
kind: Job                     # 资源类型为Job
metadata:name: picalc
spec:template:                     # 创建Pod所依据的模板spec:containers:               # 容器运行任务- name: picalcimage: perl:5.34.0command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(1500)"]restartPolicy: NeverbackoffLimit: 4              # 指定Job失败后进行重试的次数

(2)创建Job

[root@master ~]# kubectl create -f picalc-job.yaml 
job.batch/picalc created

2.测试一次性任务

(1)监视创建的Job

[root@master ~]# kubectl get jobs --watch
NAME     COMPLETIONS   DURATION   AGE
picalc   0/1           49s        49s

(2)查看创建的Pod

[root@master ~]# kubectl get pod -o wide
NAME           READY   STATUS              RESTARTS   AGE     IP       NODE    NOMINATED NODE   READINESS GATES
picalc-jvdqz   0/1     ContainerCreating   0          2m22s   <none>   node2   <none>           <none>

(3)查看该Pod的日志

[root@master ~]# kubectl logs -f picalc-jvdqz

3.删除Job

[root@master ~]# kubectl delete jobs/picalc
job.batch "picalc" deleted

二、使用CronJob运行定时任务

1.创建定时任务

(1)创建CronJob配置文件

[root@master ~]# vim hello-cronjob.yaml
[root@master ~]# cat hello-cronjob.yaml 
apiVersion: batch/v1          # 如果Kubernetes版本低于1.21,则改用batch/v1beta1
kind: CronJob                   # 资源类型为CronJob
metadata:name: hello
spec:schedule: "*/1 * * * *"     # 时间调度,这里为每分钟执行一次
# 通过Job模板指定需要运行的任务。CronJob基于Job进行实现,以下就是Job资源的定义jobTemplate:                  spec:template:spec:containers:- name: helloimage: busybox:1.28imagePullPolicy: IfNotPresentcommand:- /bin/sh- -c- date; echo Hello from the Kubernetes clusterrestartPolicy: OnFailure

(2)创建CronJob

[root@master ~]# kubectl create -f hello-cronjob.yaml 
cronjob.batch/hello created

2.测试定时任务

(1)获取CronJob的状态

[root@master ~]# kubectl get cronjob hello
NAME    SCHEDULE      SUSPEND   ACTIVE   LAST SCHEDULE   AGE
hello   */1 * * * *   False     1        19s             47s

(2)监视创建的Pod

[root@master ~]# kubectl  get jobs --watch
NAME             COMPLETIONS   DURATION   AGE
hello-29074496   1/1           45s        63s
hello-29074497   1/1           3s         3s

(3)查看创建的Pod

[root@master ~]# kubectl get pod -o wide
NAME                   READY   STATUS        RESTARTS   AGE    IP               NODE    NOMINATED NODE   READINESS GATES
hello-29074496-4b5ws   0/1     Completed     0          108s   10.244.166.173   node1   <none>           <none>
hello-29074497-b9tgj   0/1     Completed     0          48s    10.244.166.174   node1   <none>           <none>

(3)查看最后一次调度任务创建的Pod日志

[root@master ~]# kubectl logs -f hello-29074497-b9tgj
Sat Apr 12 14:57:00 UTC 2025
Hello from the Kubernetes cluster
[root@master ~]# 

3.删除CronJob

[root@master ~]# kubectl delete cronjob hello
cronjob.batch "hello" deleted

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

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

相关文章

对话记忆(Conversational Memory)

一、引言 在与大型语言模型&#xff08;LLM&#xff09;交互的场景中&#xff0c;对话记忆&#xff08;Conversational Memory&#xff09;指的是模型能够在多轮对话中保留、检索并利用先前上下文信息的能力。这一机制使得对话系统不再仅仅是“问答机”&#xff0c;而是能够持…

【HD-RK3576-PI】VNC 远程桌面连接

在当今数字化时代&#xff0c;高效便捷的操作方式是技术爱好者与专业人士的共同追求。对于使用 HD-RK3576-PI微型单板计算机的用户而言&#xff0c;当面临没有显示屏的场景时&#xff0c;如何实现远程操作桌面系统呢&#xff1f;别担心&#xff0c;VNC 远程桌面连接将为你解决这…

【unity游戏开发介绍之UGUI篇】UGUI概述和基础使用

注意&#xff1a;考虑到UGUI的内容比较多&#xff0c;我将UGUI的内容分开&#xff0c;并全部整合放在【unity游戏开发介绍之UGUI篇】专栏里&#xff0c;感兴趣的小伙伴可以前往逐一查看学习。 文章目录 前言1、UI系统的重要性2、UGUI概述2.1 基本定义2.2 UGUI发展历史 3、学习U…

Ubuntu 系统深度清理:彻底卸载 Redis 服务及残留配置

Ubuntu 系统深度清理&#xff1a;彻底卸载 Redis 服务及残留配置 在Ubuntu系统中&#xff0c;Redis是一种广泛使用的内存数据存储系统&#xff0c;用于缓存和消息传递等场景。然而&#xff0c;有时候我们需要彻底卸载Redis&#xff0c;以清理系统资源或为其他应用腾出空间。本…

[ARC196A] Adjacent Delete 题解

假设 n n n 是偶数。如果我们忽略删除相邻数的条件&#xff0c;即可以任选两个数相减&#xff0c;那么答案应该是前 n 2 \frac{n}{2} 2n​ 大的数&#xff08;记作“较大数”&#xff09;的和减去前 n 2 \frac{n}{2} 2n​ 小的数&#xff08;记作“较小数”&#xff09;的和…

Linux上位机开发实践(关于Qt的移植)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 linux平台上面&#xff0c;很多界面应用&#xff0c;都是基于qt开发的。不管是x86平台&#xff0c;还是arm平台&#xff0c;qt使用的地方都比较多。…

”插入排序“”选择排序“

文章目录 插入排序1. 直接插入排序(O(n^2))举例1&#xff1a;举例2&#xff1a;直插排序的"代码"直插排序的“时间复杂度” 2. 希尔排序(O(n^1.3))方法一方法二(时间复杂度更优) 选择排序堆排序直接选择排序 我们学过冒泡排序&#xff0c;堆排序等等。&#xff08;回…

FPGA_BD Block Design学习(一)

PS端开发流程详细步骤 1.第一步&#xff1a;打开Vivado软件&#xff0c;创建或打开一个工程。 2.第二步&#xff1a;在Block Design中添加arm核心&#xff0c;并将其配置为IP核。 3.第三步&#xff1a;配置arm核心的外设信息&#xff0c;如DDR接口、时钟频率、UART接口等。 …

【Python] pip制作离线包

制作离线安装包是一种非常实用的方法&#xff0c;尤其是在网络环境受限或需要在多台机器上部署相同环境时。以下是详细的步骤&#xff0c;帮助您创建一个包含所有依赖项的离线安装包&#xff0c;并在后续环境中复用。 步骤 1&#xff1a;准备工具和环境 确保您有一台可以访问互…

为啥物联网用MQTT?

前言 都说物联网用MQTT&#xff0c;那分别使用Http和Mqtt发送“Hello”&#xff0c;比较一下就知道啦 HTTP HTTP请求报文由请求行、头部字段和消息体组成。一个最简单的HTTP POST请求如下&#xff1a; POST / HTTP/1.1 Host: example.com Content-Length: 5 Content-Type: …

操作系统 ------ 五种IO模型

阻塞IO&#xff1a;一个IO请求操作&#xff0c;准备阶段和复制阶段都会阻塞应用程序&#xff0c;直到操作完全完成 非阻塞IO&#xff1a;一个IO操作请求&#xff0c;先判断准备阶段是否完成&#xff0c;如果未完成立即返回&#xff0c;否则&#xff0c;进入复制阶段&#xff0…

service和endpoints是如何关联的?

在Kubernetes中&#xff0c;Service 和 Endpoints 是两个密切关联的对象&#xff0c;它们共同实现了服务发现和负载均衡的功能。以下是它们之间的关联和工作原理&#xff1a; 1. Service 的定义 Service 是一种抽象&#xff0c;定义了一组逻辑上相关的 Pod&#xff0c;以及用…

程序化广告行业(78/89):多因素交织下的行业剖析与展望

程序化广告行业&#xff08;78/89&#xff09;&#xff1a;多因素交织下的行业剖析与展望 在程序化广告这片充满活力又不断变化的领域&#xff0c;持续学习和知识共享是我们紧跟潮流、实现突破的关键。一直以来&#xff0c;我都渴望能与大家一同探索这个行业的奥秘&#xff0c…

数智化重构供应商管理

当供应链韧性成为核心竞争力&#xff0c;你的供应商管理还在 “摸着石头过河” 吗&#xff1f; 在传统模式下&#xff0c;供应商管理高度依赖人工经验与纸质流程&#xff1a; 入库筛选如“大海捞针”&#xff1a;供应商资质审核停留在Excel表格比对&#xff0c;资质造假、历史…

网络互连与互联网

1.在路由表中找不到目标网络时使用默认路由&#xff0c;默认路由通常指本地网关的地址。 2.OSPF最主要的特征是使用分布式链路状态协议&#xff0c;而RIP使用的是距离向量协议。 3.OSPF使用链路状态公告LSA扩散路由信息 4.内部网关路由协议IGRP是一种动态距离矢量路由协议&a…

Raymarching Textures In Depth

本节课最主要的就是学会hlsl中使用纹理采样 float4 color Texture2DSample(Texobj, TexobjSampler, uv); return color; 课程中的代码&#xff08;没有这张图我就没做&#xff09; 课程代码产生深度的原因是uv偏移&#xff0c;黑色区域会不断向左偏移&#xff0c;直到找到白色…

【MQTT-协议原理】

MQTT-协议原理 ■ MQTT-协议原理■ MQTT-服务器 称为"消息代理"&#xff08;Broker&#xff09;■ MQTT协议中的订阅、主题、会话■ 一、订阅&#xff08;Subscription&#xff09;■ 二、会话&#xff08;Session&#xff09;■ 三、主题名&#xff08;Topic Name&a…

docker容器安装的可道云挂接宿主机的硬盘目录:解决群晖 威联通 飞牛云等nas的硬盘挂接问题

基于Docker部署可道云&#xff08;KodCloud&#xff09;时&#xff0c;通过挂载宿主机其他磁盘目录可实现高效、安全的数据管理。具体而言&#xff0c;使用绑定挂载&#xff08;Bind Mounts&#xff09;将宿主机目录&#xff08;如/data/disk2&#xff09;映射到容器内的可道云…

go语言内存泄漏的常见形式

go语言内存泄漏 子字符串导致的内存泄漏 使用自动垃圾回收的语言进行编程时&#xff0c;通常我们无需担心内存泄漏的问题&#xff0c;因为运行时会定期回收未使用的内存。但是如果你以为这样就完事大吉了&#xff0c;哪里就大错特措了。 因为&#xff0c;虽然go中并未对字符串…

es6学习02-let命令和const命令

一、let命令 1.let块级作用域&#xff1a; let关键字 VS var关键字 2.for循环计数器很适合let命令 var&#xff1a;整个for循环中一直都是同一个i在做1&#xff0c;最后输出的就是10&#xff1b; let&#xff1a;每循环一次都是多一个i的赋值&#xff0c;最后输出是可以调出…