Kubernetes Job与CronJob(离线业务)
Kubernetes Job与CronJob(离线业务)
Job
- Job分为普通任务(Job) 一次性执行
- 应用场景:离线数据处理,视频解码等业务
官方文档:https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
1、创建yaml文件
vim job.yaml
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
spec:
containers:
- name: pi
image: perl
# 计算两千位的值
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
# 重启策略
restartPolicy: Never
# 限制重启的次数
backoffLimit: 4
2、创建容器
kubectl create -f job.yaml
3、查看容器
kubectl get pods
NAME READY STATUS RESTARTS AGE
# 计算完成
pi-q8rvl 0/1 Completed 0 4m5s
4、执行完成后查看job
kubectl get job
NAME COMPLETIONS DURATION AGE
pi 1/1 91s 106s
5、查看日志
kubectl logs pi-q8rvl
3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513...............
6、删除方法
kubectl delete -f job.yaml
CronJob
官方文档:https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/
- 定时任务,像Linux的Crontab一样。
- 应用场景:通知,备份
1.创建一个yaml文件
vim cronjob.yaml
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: hello
spec:
# 分时日月周,与crontab语法一样
schedule: "*/1 * * * *"
# job模板
jobTemplate:
spec:
template:
spec:
# 容器配置
containers:
- name: hello
image: busybox
# 到达时间段执行命令
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
# 如果异常退出就重启
restartPolicy: OnFailure
2、创建容器
kubectl create -f cronjob.yaml
3、查看容器
kubectl get pod
NAME READY STATUS RESTARTS AGE
hello-1566882780-t88jl 0/1 Completed 0 71s
4、查看cronjob
kubectl get cronjob
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
hello */1 * * * * False 0 <none> 21s
5、查看日志
kubectl logs hello-1566883020-7hw2s
Tue Aug 27 05:17:10 UTC 2019
Hello from the Kubernetes cluster
6、删除
kubectl delete -f cronjob.yaml
Kubernetes Job与CronJob(离线业务)的更多相关文章
- 【Kubernetes】离线业务:Job与CronJob
Deployment.StatefulSet和DaemonSet这三个编排概念编排的对象主要都是在线业务(Long Running Task,这些应用一旦运行起来,除非出错或者停止,它的容器进程会一直 ...
- Kubernetes — Job与CronJob
有一类作业显然不满足这样的条件,这就是“离线业务”,或者叫作 Batch Job(计算业务). 这 种业务在计算完成后就直接退出了,而此时如果你依然用 Deployment 来管理这种业务的话,就会 ...
- kubernetes对象之cronjob
系列目录 类似于Linux的Cron模块,CronJob用来运行定时性任务,或者周期性.重复性任务.注意CronJob启动的是kubernetes中的Job,不是ReplicaSet.DaemonSe ...
- centos7.3 kubernetes/k8s 1.10 离线安装 --已验证
本文介绍在centos7.3使用kubeadm快速离线安装kubernetes 1.10. 采用单master,单node(可以多node),占用资源较少,方便在笔记本或学习环境快速部署,不适用于生产 ...
- Kubernetes 1.10.0离线安装
讲述如何通过离线的方式安装Kubernetes,主要用于对Kubernetes的研究学习,不建议在生产环境使用,安装包获取地址: 链接:https://pan.baidu.com/s/1nX5_mem ...
- kubernetes 学习 创建cronjob
POM.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- 如何将离线计算业务的成本降低65%——弹性容器服务EKS「竞价实例」上线
在容器化的应用场景中,大数据计算是其中很大并且业务应用在逐渐增加的一个热门领域,包括越来越多的人工智能企业,都在使用容器技术来支持业务中的大量计算任务.降低成本.提升资源利用率也是当前这部分用户非常期 ...
- 离线环境下使用二进制方式安装配置Kubernetes集群
本文环境 Redhat Linux 7.3,操作系统采用的最小安装方式. Kubernetes的版本为 V1.10. Docker版本为18.03.1-ce. etcd 版本为 V3.3.8. 1. ...
- Kubernetes K8S之资源控制器Job和CronJob详解
Kubernetes的资源控制器Job和CronJob详解与示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2 ...
随机推荐
- _NtCreateDebugObject(ntoskrnl.exe)函数逆向分析
该函数由 DbgUiConnectToDbg(ntdll.dll)函数 调用. 其调用时传入的参数如下: 函数作用:初始化被调试的内核对象,将被调试对象句柄放入调试对象的 [fs:f24]处. 1.现 ...
- VS Code 快捷键 && 常用插件
常用插件 分类 插件名称 说明 开发 C# C#语言 C# Extensions C#扩展功能(添加类,接口,智能提示) C# XML Documentation Comments 代码添加注释 ...
- 用PHP写出计算器
<body> <?php if (!empty($_POST)) { $op=$_POST['point']; $sum1 = $_POST['sum1']; $sum2 = $_P ...
- 黑马程序员面试宝典(Java)Beta6.0免费下载
场景 JavaSE基础 面向对象特征以及理解 访问权限修饰符区别 理解clone对象 JavaSE语法 java有没有goto语句 &和&&的区别 如何跳出当前的多重嵌套循环? ...
- CSS3 盒模型---css初始化会用到:box-sizing: border-box 盒子大小为 width 就是说 padding 和 border 是包含到width里面的
CSS3中可以通过box-sizing 来指定盒模型,即可指定为content-box.border-box,这样我们计算盒子大小的方式就发生了改变. 可以分成两种情况: 1.box-sizing: ...
- hadoop 自定义OutputFormat
1.继承FileOutputFormat,复写getRecordWriter方法 /** * @Description:自定义outputFormat,输出数据到不同的文件 */ public cla ...
- java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8E' for column 'name' at row 1
我的错误案例: ,这个后台插不进去,就姓名那栏的中文编码问题. 遇到这个错误,应该是创建表的时候没有设置好编码,这个错误不用多想,我也试过在更改表那里设置编码,但还是不行,还是有残留 直接drop t ...
- 使history命令显示时间
添加环境变量HISTTIMEFORMAT就行了 # export HISTTIMEFORMAT='%F %T ' .csharpcode, .csharpcode pre { font-size: ...
- mongoDB的安全相关
开启认证: 在配置文件里新增一行 auth = true 创建用户: 1.创建语法:createUser 2.{user:"<name>", pwd:"& ...
- Rest微服务案例(二)
1. 创建父工程 Maven Project 新建父工程microservicecloud,packaging是pom模式,pom.xml内容如下: <!-- SpringBoot父依赖 --& ...