容器按照持续运行的时间可分为两类: 服务类容器和工作类容器
服务类容器通常持续提供服务, 需要一直运行, 比如 http server,daemon 等工作类容器则是一次性任务, 比如批处理程序, 完成后容器就退出
Kubernetes 的 DeploymentReplicaSet 和 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 的标准输出:
来源: https://www.cnblogs.com/CloudMan6/p/8454758.html