zoukankan      html  css  js  c++  java
  • Kubernetes Job配置

      我们知道使用kubernetes的rc或者rs创建的pod,kubernetes会实时监控其健康状态,如果发现pod挂掉以后,会自动启动一个新的,让pod的数量始终保持在指定的replicas上。那么问题就来了,在有些场景下,我们就是想要运行一些容器执行某种特定的任务,任务一旦执行完成,容器也就没有存在的必要了。在这种场景下,我们使用rc来创建pod就显得不那么合适。于是就是了Job,在这里,Job指的就是那些一次性任务。我们通过Job运行一个容器,当其任务执行完以后,就自动退出,集群也不再重新将其唤醒。

    Job的创建非常简单,我们直接看示例:

    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

    这个示例,就是启动一个busybox,让其运行30s后自行退出,通过如下方式启动:

    kubectl create -f busybox.yml

    当容器正常运行退出以后,我们执行如下指令可以查看到容器退出的状态:

    [root@server-116 test]# kubectl get jobs
    NAME      DESIRED   SUCCESSFUL   AGE
    busybox   1         1            1m

    当successful从0变为1时,即正常退出

    需要说明的是,容器虽然退出了,但job还在,要删除job需要使用如下指令:

    kubectl delete -f busybox.yml
  • 相关阅读:
    图论————最短路,最小生成树。
    复习KMP
    P3930 SAC E#1
    P3818 小A和uim之大逃离 II
    洛谷P3928 SAC E#1
    洛谷-P3927 SAC E#1
    求逆欧拉函数(arc)
    《公式证明:欧拉函数》
    求一个极大数的欧拉函数 phi(i)
    仙人掌(cactus)
  • 原文地址:https://www.cnblogs.com/breezey/p/6582754.html
Copyright © 2011-2022 走看看