用 k8s 运行一次性任务 - 每天5分钟玩转 Docker 容器技术(132)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用 k8s 运行一次性任务 - 每天5分钟玩转 Docker 容器技术(132)相关的知识,希望对你有一定的参考价值。

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

服务类容器通常持续提供服务,需要一直运行,比如 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 失败了会怎么样呢?我们下一节讨论。

书籍:

1.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html


2.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html

技术分享图片


以上是关于用 k8s 运行一次性任务 - 每天5分钟玩转 Docker 容器技术(132)的主要内容,如果未能解决你的问题,请参考以下文章

用 k8s 管理机密信息 - 每天5分钟玩转 Docker 容器技术(155)

5 秒创建 k8s 集群 - 每天5分钟玩转 Docker 容器技术(115)

通过例子理解 k8s 架构 - 每天5分钟玩转 Docker 容器技术(122)

通过例子理解 k8s 架构 - 每天5分钟玩转 Docker 容器技术(122)

k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)

k8s 如何 Failover?- 每天5分钟玩转 Docker 容器技术(127)