job资源对象
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,Job资源对象服务类的Pod容器:RC、RS、DS、Deployment.工作类的Pod容器:Job--->执行一次,或者批量执行处理程序,完成之后推出容器。[root@master ~]# cat
千家信息网最后更新 2025年12月03日job资源对象
Job资源对象
服务类的Pod容器:RC、RS、DS、Deployment.
工作类的Pod容器:Job--->执行一次,或者批量执行处理程序,完成之后推出容器。
[root@master ~]# cat job.yaml
kind: Job
apiVersion: batch/v1
metadata:
name: test-job
spec:
template:
metadata:
name: test-job
spec:
containers:
- name: hello
image: busybox
command: ["echo","hello k8s job!"]
restartPolicy: Never
[root@master ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
test-job-qgc6p 0/1 Completed 0 55s
[root@master ~]# kubectl logs test-job-qgc6p
hello k8s job!
PS:注意,如果容器内执行任务有误,会根据容器的重启策略操作容器,不过这里的容器重启策略只能是:Never、OnFailure
提高Job的执行效率
我们可以在Job.spec字段下加上parallelism选项。表示同时运行多少个Pod执行任务
我们可以在Job.spec字段下加上completions选项。表示总共需要完成Pod的数量。
[root@master ~]# cat job.yaml
kind: Job
apiVersion: batch/v1
metadata:
name: test-job
spec:
completions: 8 //总共需要完成多少个Pod
parallelism: 2 //同时运行几个pod
template:
metadata:
name: test-job
spec:
containers: - name: hello
image: busybox
command: ["echo","hello k8s job!"]
restartPolicy: OnFailure
如何定时执行Job
kind: CronJob
apiVersion: batch/v1beta1
metadata:
name: hello
spec:
schedule: "/1 *"
jobTemplate:
spec:
template:
spec:
containers:- name: hello
image: busybox
command: ["echo","hello cronjob!"]
restartPolicy: OnFailure
[root@master ~]# kubectl apply -f cronjob.yaml
[root@master ~]# kubectl get cronjobs.batch
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
hello /1 * False 0 47s 51s
[root@master ~]# kubectl logs hello-1579053480-vpm6t
hello cronjob!
此时查看Pod的状态,会发现,每分钟都会运行一个新的Pod来执行命令规定的任务。
练习:
规定2020年1月15号上午十点五分运行上面的crontab任务。
[root@master ~]# cat cronjob.yaml
kind: CronJob
apiVersion: batch/v1beta1
metadata:
name: hello
spec:
schedule: "5 10 15 1 3"
jobTemplate:
spec:
template:
spec:
containers: - name: hello
image: busybox
command: ["echo","hello cronjob!"]
restartPolicy: OnFailure
这时会发现,如果规定具体时间,可能并不会执行任务。
[root@master ~]# kubectl api-versions //查看api版本
添加apiVersion库。
[root@master ~]# vim /etc/kubernetes/manifests/kube-apiserver.yaml
- name: hello
//在yaml文件中添加
- --runtime-config=batch/v2alpha1=true
然后重启kubelet服务,重新识别api yaml文件内容即可。
//查看api版本库
[root@master ~]# kubectl api-versions
PS:注意,此时任然不能正常运行指定时间的job,这时因为k8s官方在cronjob这个资源对象的支持中还没有完善此功能。还待开发。
跟job资源一样在cronjob.spec.jobTemplate.spec下同样支持并发Job参数:parallelism,也支持完成Pod的总数参数:completions
容器
任务
运行
资源
支持
对象
参数
同时
字段
文件
时间
版本
策略
服务
内容
功能
命令
官方
总数
效率
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
空间数据库技术教学大纲
网络安全态势分析研判的方法
cs服务器租用
文科生学网络技术专业好学吗
druid如何连接数据库
义乌阿拉丁网络技术有限公司
电商服务器数据库一般多大
图数据库与传统数据库
广东中维冠名互联网科技有限公司
草船借箭互联网科技有限公司
北京百卓网络技术公司电话
软件开发项目小组表
java 查询数据库
新三板上市公司网络安全
欧洲药品数据库官网
程序员软件开发工资
数据库应用技术第3版答案
石化租房软件开发
陕西嘉润网络技术有限公司
xml 数据库 保存数据
网络安全知识线上问答
网络安全风险和预警信息
越秀app软件开发解决方案
无锡智能软件开发用途
图片合成 软件开发
杭州企业冷库软件开发
苏宁的软件开发岗怎么样
乌海软件开发参考价
hpdl360服务器参数
港闸区智能网络技术品质保障