k8s控制器-Job

介绍

之前的控制器作用都是需要持续运行pod。 如果只想运行完成工作后就终止任务的清况。 ReplicationController、 ReplicaSet和DaemonSet会持续运行任务, 永远达不到完成态, 这些 pod 中的进程在退出时会重新启动。 但是在一个可完成的任务中, 其进程终止后,不应该再重新启动,而进程没完成但是节点挂了导致其退出这样的情况再由控制器启动一个新的,这就是Job 控制器。

常用功能

1、作业可以配置为创建多个pod实例, 并以并行或串行方式运行它们 。
 
2、通过在pod配置中设置 activeDeadlineSeconds 属性,可以限制 pod的时间。如果 pod 运行时间超过此时间, 系统将尝试终止 pod, 并将 Job 标记为失败。通过指定 Job manifest 中的 spec.backoff巨m辽字段,可以配置 Job在被标记为失败之前可以重试的次数。 如果你没有明确指定它, 则默认为6。
 
3、安排Job定期运行或在将来运行一次。Kubemetes 中的 cron 任务通过创建 CronJob 资源进行配置,在 CronJob 对象中配置的 Job 模板创建 Job 资源。 创建 Job 资源时, 将根据任务的 pod 模板创建并启动一个或多个 pod 副本

应用场景

计划任务定期启动Pod来备份数据,调用接口

原文地址:https://www.cnblogs.com/fanggege/p/12144141.html