用 k8s 运行一次性任务 - 每天5分钟玩转 Docker 容器技术(132)
2018-02-21 05:50
866 查看
容器按照持续运行的时间可分为两类:服务类容器和工作类容器。
服务类容器通常持续提供服务,需要一直运行,比如 http server,daemon 等。工作类容器则是一次性任务,比如批处理程序,完成后容器就退出。
Kubernetes 的 Deployment、ReplicaSet 和 DaemonSet 都用于管理服务类容器;对于工作类容器,我们用 Job。
先看一个简单的 Job 配置文件 myjob.yml:
①
Job 的
② 指明当前资源的类型为
③
Job,只能设置为
controller(比如 Deployment)可以设置为
通过
Pod,并且已经成功执行。
Pod 的状态:
因为 Pod 执行完毕后容器已经退出,需要用
Pod。
以上是 Pod 成功执行的情况,如果 Pod 失败了会怎么样呢?我们下一节讨论。
书籍:
1.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html
2.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html
服务类容器通常持续提供服务,需要一直运行,比如 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 容器技术(132)
- 用 k8s 运行一次性任务 - 每天5分钟玩转 Docker 容器技术(132)
- k8s 核心功能 - 每天5分钟玩转 Docker 容器技术(116)
- k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)
- 运行自己的 DaemonSet - 每天5分钟玩转 Docker 容器技术(131)
- 在 overlay 中运行容器 - 每天5分钟玩转 Docker 容器技术(51)
- 在 overlay 中运行容器 - 每天5分钟玩转 Docker 容器技术(51)
- k8s 核心功能 - 每天5分钟玩转 Docker 容器技术(116)
- 在 overlay 中运行容器 - 每天5分钟玩转 Docker 容器技术(51)
- k8s 核心功能 - 每天5分钟玩转 Docker 容器技术(116)
- k8s 核心功能 - 每天5分钟玩转 Docker 容器技术(116)
- k8s 重要概念 - 每天5分钟玩转 Docker 容器技术(117)
- 在 overlay 中运行容器 - 每天5分钟玩转 Docker 容器技术(51)
- 5 秒创建 k8s 集群 - 每天5分钟玩转 Docker 容器技术(115)
- 用 Deployment 运行应用 - 每天5分钟玩转 Docker 容器技术(123)
- 通过例子理解 k8s 架构 - 每天5分钟玩转 Docker 容器技术(122)
- 用 Deployment 运行应用 - 每天5分钟玩转 Docker 容器技术(123)
- 用 Deployment 运行应用 - 每天5分钟玩转 Docker 容器技术(123)
- 通过例子理解 k8s 架构 - 每天5分钟玩转 Docker 容器技术(122)