[root@k8s-master k8s]# kubectl apply -f job-pi.yaml
NAME COMPLETIONS DURATION AGE
pi 0/136s 36s
查看pod
[root@k8s-master k8s]# kubectl get pods
NAME READY STATUS RESTARTS AGE
pi-gv6c7 0/1 ContainerCreating 02s
可以看到pod的status是创建中
[root@k8s-master k8s]# kubectl get pods
NAME READY STATUS RESTARTS AGE
pi-gv6c7 1/1 Running 04s
可以看到pod的status是running中,说明容器在执行任务重。等待约1min,任务执行完成状态转为Completed。
[root@k8s-master k8s]# kubectl get jobs
NAME COMPLETIONS DURATION AGE
pi 0/18s 8s
COMPLETIONS: 0/1 表示该 Job 的一个任务还没有完成。
[root@k8s-master k8s]# kubectl get jobs
NAME COMPLETIONS DURATION AGE
pi 1/18s 10s
COMPLETIONS: 1/1 表示该 Job 的任务已经完成(Job 只需要完成 1 个任务)。
[root@k8s-master k8s]# kubectl get pods
NAME READY STATUS RESTARTS AGE
pi-gv6c7 0/1 Completed 015s
READY: 0/1 表示 Pod 中的容器已经停止运行,任务完成。
STATUS: Completed 表示 Pod 已经成功完成了它的工作,这意味着 Pod 中的任务已经结束,不再需要保持运行。
[root@k8s-master k8s]# kubectl logs pi-gv6c73.141592653.......
通过查看pod日志获取计算结果
如果pod启动失败,job会不断的创建新的pod,直到重试次数到达上限,重试次数由backoffLimit字段设置,默认值为6,既最多重试创建6个pod,每次创建建哥时间呈指数级增加(10s、20s、40s。。。。),其最长延迟为5min
任务完成后,job对象和生成的pod不会自动删除,需要手动删除对应的job对象
[root@k8s-master ~]# kubectl delete job pi
job.batch "pi" deleted
[root@k8s-master ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
pi-gv6c7 0/1 Completed 024h
pod-pretstop 1/1 Running 9 (69m ago) 18d
[root@k8s-master ~]# kubectl delete pod pi-gv6c7
pod "pi-gv6c7" deleted
[root@k8s-master k8s]# kubectl apply -f cronjob-mysql-backup.yaml
cronjob.batch/mysql-bakcup created
查看Cronjob
[root@k8s-master k8s]# kubectl get cronjob
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
mysql-bakcup 01***False0<none>32s
NAME:名称
SCHEDULE:调度时间
SUSPEND:是否挂起
ACTIVE:当前活跃的任务数
LAST SCHEDULE:最近一次调度时间
AGE:创建时间
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?