Kubernetes对象job详解

1、job使用场景

容器按照持续运行的时间可分为两类:服务类容器和工作类容器。

服务类容器通常持续提供服务,需要一直运行,比如http server,mysql db等。工作类容器则是一次性任务,比如批处理程序,完成后容器就退出。

k8s中的的Deployment、ReplicaSet和DaemonSet都用于管理服务类容器,对于工作类容器,可以使用Job。

2、job应用

先创建一个基于job的yml文件,内容如下:

apiVersion:  batch/v1
kind: Job
metadata:
  name: myjob
spec:
  template:
     spec:
        containers:
            - name: job
              image: busybox
              command: ["echo","hello k8s"]
        restartPolicy: Never

 

其中:

  • batch/v1是当前Job的apiVersion。
  • kind指明当前资源的类型为Job。

restartPolicy用来指定什么情况下需要重启容器:

  • Never表示不论状态为何, kubelet都不重启该容器
  • OnFailure表示容器终止运行,且退出码不为0时重启
  • Always表示容器失效时,kubelet自动重启该容器

猜你喜欢

转载自blog.csdn.net/qq_35029061/article/details/132201027