job资源对象
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,Job资源对象服务类的Pod容器:RC、RS、DS、Deployment.工作类的Pod容器:Job--->执行一次,或者批量执行处理程序,完成之后推出容器。[root@master ~]# cat
千家信息网最后更新 2026年11月04日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安全错误
数据库的锁怎样保障安全
有格互联网科技
互联网核心科技是什么
互联网与科技发展
科技制造互联网公司
金融科技 互联网金融
青岛互联网科技公司
极限挑战互联网科技
甘肃拓世互联网科技有限公司
青岛中康互联网医疗科技有限公司
常德市电业局互联网科技部
茂名市互联网科技产业园
贵州叶脉互联网科技有限公司所属行业
重庆互联网医院沙龙医盟信息科技
中国航天科技大学国际工业互联网
健康食品互联网创新科技园项目
美国互联网科技实力
浙南科技城互联网大厦招聘
互联网科技包装股份有限公司上市
万物互联网智能科技
科技美学互联网 艺术
互联网科技公司起名
互联网科技工作委员会主任
互联网金融 科技创新
一五八零互联网科技
天扬科技互联网广告
成都铂石互联网科技做什么的
科技类公司包括互联网吗
区块链结合互联网科技
产业互联网科技服务公司
济南小医互联网科技有限公司招聘