wind-cold 发表于 2018-9-16 06:52:43

Kubernetes 1.5配置Job

  我们知道使用kubernetes的rc或者rs创建的pod,kubernetes会实时监控其健康状态,如果发现pod挂掉以后,会自动启动一个新的,让pod的数量始终保持在指定的replicas上。那么问题就来了,在有些场景下,我们就是想要运行一些容器执行某种特定的任务,任务一旦执行完成,容器也就没有存在的必要了。在这种场景下,我们使用rc来创建pod就显得不那么合适。于是就是了Job,在这里,Job指的就是那些一次性任务。我们通过Job运行一个容器,当其任务执行完以后,就自动退出,集群也不再重新将其唤醒。
  Job的创建非常简单,我们直接看示例:
http://common.cnblogs.com/images/copycode.gif
apiVersion: batch/v1  
kind: Job
  
metadata:
  
labels:
  
    name: busybox
  
name: busybox
  
spec:
  
template:
  
    metadata:
  
      name: busybox
  
    spec:
  
      containers:      - name: busybox
  
          image: myhub.mingyuanyun.com/library/busybox
  
          command:            - sleep
  
            - "30"
  
      restartPolicy: Never
http://common.cnblogs.com/images/copycode.gif
  这个示例,就是启动一个busybox,让其运行30s后自行退出,通过如下方式启动:
kubectl create -f busybox.yml  当容器正常运行退出以后,我们执行如下指令可以查看到容器退出的状态:
# kubectl get jobs  
NAME      DESIRED   SUCCESSFUL   AGE
  
busybox   1         1            1m
  当successful从0变为1时,即正常退出
  需要说明的是,容器虽然退出了,但job还在,要删除job需要使用如下指令:
kubectl delete -f busybox.yml

页: [1]
查看完整版本: Kubernetes 1.5配置Job