zoukankan      html  css  js  c++  java
  • 用 k8s 运行一次性任务【转】

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

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

    Kubernetes 的 Deployment、ReplicaSet 和 DaemonSet 都用于管理服务类容器;对于工作类容器,我们用 Job。

    先看一个简单的 Job 配置文件 myjob.yml:

    ① batch/v1 是当前 Job 的 apiVersion

    ② 指明当前资源的类型为 Job

    ③ restartPolicy 指定什么情况下需要重启容器。对于 Job,只能设置为 Never 或者 OnFailure。对于其他 controller(比如 Deployment)可以设置为 Always 。

    通过 kubectl apply -f myjob.yml 启动 Job。

    kubectl get job 查看 Job 的状态:

    DESIRED 和 SUCCESSFUL 都为 1,表示按照预期启动了一个 Pod,并且已经成功执行。kubectl get pod 查看 Pod 的状态:

    因为 Pod 执行完毕后容器已经退出,需要用 --show-all 才能查看 Completed 状态的 Pod。

    kubectl logs 可以查看 Pod 的标准输出:

    以上是 Pod 成功执行的情况,如果 Pod 失败了会怎么样呢?我们下一节讨论。

  • 相关阅读:
    一些Redis面试题
    PHP中类和对象
    PHP中普通方法和静态方法
    PHP中普通属性和静态属性
    PHP中对象的传值方式
    PHP创建对象的几种形式
    面向对象与面向过程思想区别
    mysql中联合查询
    mysql中用户和权限
    mysql中事务
  • 原文地址:https://www.cnblogs.com/twobrother/p/11088625.html
Copyright © 2011-2022 走看看