CronJob 表示单个 cron 作业的配置。
CronJob 表示单个 cron 作业的配置。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义了此对象表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。不能更新。采用驼峰式命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
|
CronJobSpec 描述了作业执行的外观以及实际运行的时间。 |
|
|
CronJobStatus 表示 cron 作业的当前状态。 |
CronJobSpec 描述了作业执行的外观以及实际运行的时间。
对象
schedule
jobTemplate
属性 | 类型 | 描述 |
---|---|---|
|
|
指定如何处理作业的并发执行。有效值为 - “Allow”(默认):允许 CronJob 并发运行;- “Forbid”:禁止并发运行,如果之前的运行尚未完成,则跳过下一次运行;- “Replace”:取消当前正在运行的作业并用新的作业替换它 可能的枚举值:- `“Allow”` 允许 CronJob 并发运行。- `“Forbid”` 禁止并发运行,如果之前的运行尚未完成,则跳过下一次运行。- `“Replace”` 取消当前正在运行的作业并用新的作业替换它。 |
|
|
要保留的失败完成作业的数量。值必须是非负整数。默认为 1。 |
|
|
JobTemplateSpec 描述了从模板创建时作业应具有的数据 |
|
|
Cron 格式的调度,参见 https://en.wikipedia.org/wiki/Cron。 |
|
|
如果由于任何原因错过了预定的时间,则以秒为单位的可选截止时间来启动作业。错过的作业执行将被计为失败的作业。 |
|
|
要保留的成功完成作业的数量。值必须是非负整数。默认为 3。 |
|
|
此标志告诉控制器暂停后续执行,它不适用于已启动的执行。默认为 false。 |
|
|
给定调度的时区名称,请参见 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones。如果未指定,则默认为 kube-controller-manager 进程的时区。有效的时区名称集和时区偏移量在 CronJob 验证期间由 API 服务器从系统范围的时区数据库加载,在执行期间由控制器管理器加载。如果找不到系统范围的时区数据库,则改为使用捆绑的数据库版本。如果时区名称在 CronJob 的生命周期中或由于主机配置更改而变得无效,则控制器将停止创建新的作业,并将创建一个原因未知时区的系统事件。更多信息可以在 https://kubernetes.ac.cn/docs/concepts/workloads/controllers/cron-jobs/#time-zones 中找到。 |
JobTemplateSpec 描述了从模板创建时作业应具有的数据
对象
属性 | 类型 | 描述 |
---|---|---|
|
根据此模板创建的作业的标准对象元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
|
JobSpec 描述了作业执行的方式。 |
JobSpec 描述了作业执行的方式。
对象
模板
属性 | 类型 | 描述 |
---|---|---|
|
|
指定作业在系统尝试终止它之前可以持续处于活动状态的持续时间(以秒为单位),该时间相对于 startTime 计算;值必须是正整数。如果作业被挂起(在创建时或通过更新),则此计时器将有效停止,并在作业再次恢复时重置。 |
|
|
指定在将此作业标记为失败之前重试的次数。默认为 6。 |
|
|
指定在将某个索引标记为失败之前,该索引内重试次数的限制。启用此选项后,每个索引的失败次数将保存在 Pod 的 batch.kubernetes.io/job-index-failure-count 注解中。只有在 Job 的 completionMode=Indexed 且 Pod 的重启策略为 Never 时才能设置此字段。此字段是不可变的。此字段处于 Beta 级别。当启用 |
|
|
completionMode 指定如何跟踪 Pod 完成情况。它可以是
将来可以添加更多完成模式。如果作业控制器观察到它无法识别的模式(由于版本偏差,在升级过程中可能会发生这种情况),则控制器将跳过该作业的更新。 可能的枚举值:- |
|
|
指定作业应运行的成功完成的 Pod 的所需数量。设置为 null 表示任何 Pod 的成功都表示所有 Pod 的成功,并允许并行性具有任何正值。设置为 1 表示并行性限制为 1,并且该 Pod 的成功表示作业的成功。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/controllers/jobs-run-to-completion/ |
|
|
ManagedBy 字段指示管理作业的控制器。k8s 作业控制器会协调完全没有此字段或字段值为保留字符串 此字段处于 Alpha 级别。当启用特性门控 JobManagedBy 时(默认情况下禁用),作业控制器接受设置该字段。 |
|
|
manualSelector 控制 pod 标签和 pod 选择器的生成。除非您确定自己在做什么,否则请不要设置 |
|
|
设置 backoffLimitPerIndex 后,指定在将作业标记为失败之前失败索引的最大数量。一旦失败索引的数量超过此数字,整个作业将被标记为失败,并终止其执行。如果保留为 null,则作业将继续执行其所有索引,并用 |
|
|
指定作业在任何给定时间应运行的最大所需 Pod 数量。当 ((.spec.completions - .status.successful) < .spec.parallelism) 时,即剩余工作量小于最大并行性时,稳定状态下运行的 Pod 实际数量将小于此数字。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/controllers/jobs-run-to-completion/ |
|
|
PodFailurePolicy 描述失败的 Pod 如何影响 backoffLimit。 |
|
|
podReplacementPolicy 指定何时创建替换 Pod。可能的值为:- TerminatingOrFailed 表示当 Pod 正在终止(具有 metadata.deletionTimestamp)或失败时,我们将重新创建 Pod。- Failed 表示在创建替换 Pod 之前,等待先前创建的 Pod 完全终止(阶段为 Failed 或 Succeeded)。 使用 podFailurePolicy 时,Failed 是唯一允许的值。当 podFailurePolicy 未使用时,允许 TerminatingOrFailed 和 Failed 值。这是一个 Beta 字段。要使用它,请启用 JobPodReplacementPolicy 功能切换。默认情况下启用。 可能的枚举值:- |
|
对应该匹配 pod 计数的 pod 的标签查询。通常,系统会为您设置此字段。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/labels/#label-selectors |
|
|
|
SuccessPolicy 描述基于某些索引的成功,何时可以将作业声明为成功。 |
|
|
suspend 指定作业控制器是否创建 Pod。如果作业创建时将 suspend 设置为 true,则作业控制器不会创建任何 Pod。如果作业在创建后被挂起(即标志从 false 变为 true),则作业控制器将删除与此作业关联的所有活动 Pod。用户必须设计其工作负载以优雅地处理这种情况。挂起作业将重置作业的 StartTime 字段,从而有效地重置 ActiveDeadlineSeconds 计时器。默认为 false。 |
|
描述执行作业时将创建的 Pod。唯一允许的 template.spec.restartPolicy 值为“Never”或“OnFailure”。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/controllers/jobs-run-to-completion/ |
|
|
|
ttlSecondsAfterFinished 限制已完成执行(已完成或失败)的作业的生存期。如果设置此字段,则作业完成后的 ttlSecondsAfterFinished 时间后,它就有资格被自动删除。删除作业时,将遵守其生命周期保证(例如最终器)。如果未设置此字段,则作业不会自动删除。如果将此字段设置为零,则作业在完成后的立即时间就有资格被删除。 |
PodFailurePolicy 描述失败的 Pod 如何影响 backoffLimit。
对象
rules
属性 | 类型 | 描述 |
---|---|---|
|
|
Pod 失败策略规则列表。这些规则按顺序进行评估。一旦某个规则匹配 Pod 失败,则忽略其余规则。当没有规则匹配 Pod 失败时,将应用默认处理 - Pod 失败计数器递增,并根据 backoffLimit 进行检查。最多允许 20 个元素。 |
|
|
PodFailurePolicyRule 描述在满足要求时如何处理 Pod 失败。每个规则中可以使用 onExitCodes 或 onPodConditions 之一,但不能同时使用两者。 |
Pod 失败策略规则列表。这些规则按顺序进行评估。一旦某个规则匹配 Pod 失败,则忽略其余规则。当没有规则匹配 Pod 失败时,将应用默认处理 - Pod 失败计数器递增,并根据 backoffLimit 进行检查。最多允许 20 个元素。
数组
PodFailurePolicyRule 描述在满足要求时如何处理 Pod 失败。每个规则中可以使用 onExitCodes 或 onPodConditions 之一,但不能同时使用两者。
对象
action
属性 | 类型 | 描述 |
---|---|---|
|
|
指定满足要求时对 Pod 失败采取的操作。可能的值为 - FailJob:表示 Pod 的作业被标记为失败,所有正在运行的 Pod 都将被终止。- FailIndex:表示 Pod 的索引被标记为失败,并且不会重新启动。此值为 Beta 级。当启用 可能的枚举值:- |
|
|
PodFailurePolicyOnExitCodesRequirement 描述了根据其容器退出代码处理失败 Pod 的要求。特别是,它查找每个应用程序容器和初始化容器状态的 .state.terminated.exitCode,分别由 Pod 状态中的 .status.containerStatuses 和 .status.initContainerStatuses 字段表示。成功完成(退出代码 0)的容器将从要求检查中排除。 |
|
|
表示对 Pod 条件的要求。该要求表示为 Pod 条件模式列表。如果至少一个模式匹配实际的 Pod 条件,则满足该要求。最多允许 20 个元素。 |
|
|
PodFailurePolicyOnPodConditionsPattern 描述了匹配实际 Pod 条件类型的模式。 |
PodFailurePolicyOnExitCodesRequirement 描述了根据其容器退出代码处理失败 Pod 的要求。特别是,它查找每个应用程序容器和初始化容器状态的 .state.terminated.exitCode,分别由 Pod 状态中的 .status.containerStatuses 和 .status.initContainerStatuses 字段表示。成功完成(退出代码 0)的容器将从要求检查中排除。
对象
operator
values
属性 | 类型 | 描述 |
---|---|---|
|
|
将退出代码的检查限制为具有指定名称的容器。当为 null 时,规则适用于所有容器。当指定时,它应该与 Pod 模板中的容器或 initContainer 名称之一匹配。 |
|
|
表示容器退出代码与指定值之间的关系。成功完成(退出代码 0)的容器将从要求检查中排除。可能的值为 - In:如果至少一个容器退出代码(如果存在多个未受“containerName”字段限制的容器,则可能有多个)位于指定值集中,则满足要求。- NotIn:如果至少一个容器退出代码(如果存在多个未受“containerName”字段限制的容器,则可能有多个)不在指定值集中,则满足要求。将来可能会添加其他值。客户端应该通过假设不满足要求来对未知操作做出反应。 可能的枚举值:- |
|
|
指定值集。每个返回的容器退出代码(如果有多个容器,则可能有多个)都根据运算符相对于此值集进行检查。值列表必须是有序的,并且不能包含重复项。值“0”不能用于 In 运算符。至少需要一个元素。最多允许 255 个元素。 |
表示对 Pod 条件的要求。该要求表示为 Pod 条件模式列表。如果至少一个模式匹配实际的 Pod 条件,则满足该要求。最多允许 20 个元素。
数组
PodFailurePolicyOnPodConditionsPattern 描述了匹配实际 Pod 条件类型的模式。
对象
type
status
属性 | 类型 | 描述 |
---|---|---|
|
|
指定所需的 Pod 条件状态。要匹配 Pod 条件,需要指定的状态等于 Pod 条件状态。默认为 True。 |
|
|
指定所需的 Pod 条件类型。要匹配 Pod 条件,需要指定类型等于 Pod 条件类型。 |
SuccessPolicy 描述基于某些索引的成功,何时可以将作业声明为成功。
对象
rules
属性 | 类型 | 描述 |
---|---|---|
|
|
rules 表示在 |
|
|
SuccessPolicyRule 描述声明作业成功的规则。每个规则必须至少指定“succeededIndexes”或“succeededCount”之一。 |
rules 表示在 .status.succeeded >= .spec.completions
之前声明作业成功的替代规则列表。一旦满足任何规则,“SucceededCriteriaMet”条件就会被添加,并且会删除剩余的 Pod。此类作业的终端状态具有“Complete”条件。此外,这些规则按顺序进行评估;一旦作业满足其中一条规则,则忽略其他规则。最多允许 20 个元素。
数组
SuccessPolicyRule 描述声明作业成功的规则。每个规则必须至少指定“succeededIndexes”或“succeededCount”之一。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
succeededCount 指定作业实际成功索引集的最小所需大小。当 succeededCount 与 succeededIndexes 一起使用时,检查仅限于 succeededIndexes 指定的索引集。例如,假设 succeededIndexes 为“1-4”,succeededCount 为“3”,完成的索引为“1”、“3”和“5”,则作业不会被声明为成功,因为该规则中仅考虑“1”和“3”索引。当此字段为 null 时,它不会默认为任何值,并且不会在任何时候进行评估。当指定时,它需要是一个正整数。 |
|
|
succeededIndexes 指定作业成功索引的实际集合中需要包含的索引集。索引列表必须在 0 到 ".spec.completions-1" 之间,并且不能包含重复项。至少需要一个元素。索引表示为用逗号分隔的区间。区间可以是小数整数,也可以是用连字符分隔的一对小数整数。数字用序列的首元素和尾元素表示,用连字符分隔。例如,如果已完成的索引为 1、3、4、5 和 7,则表示为“1,3-5,7”。当此字段为 null 时,此字段不会默认为任何值,并且在任何时候都不会被评估。 |
提供以下 API 端点
/apis/batch/v1/cronjobs
GET
:列出或监视 CronJob 对象。
/apis/batch/v1/watch/cronjobs
GET
:监视 CronJob 列表的单个更改。已弃用:改用列表操作中的“watch”参数。
/apis/batch/v1/namespaces/{namespace}/cronjobs
DELETE
:删除 CronJob 集合。
GET
:列出或监视 CronJob 对象。
POST
:创建 CronJob。
/apis/batch/v1/watch/namespaces/{namespace}/cronjobs
GET
:监视 CronJob 列表的单个更改。已弃用:改用列表操作中的“watch”参数。
/apis/batch/v1/namespaces/{namespace}/cronjobs/{name}
DELETE
:删除 CronJob。
GET
:读取指定的 CronJob。
PATCH
:部分更新指定的 CronJob。
PUT
:替换指定的 CronJob。
/apis/batch/v1/watch/namespaces/{namespace}/cronjobs/{name}
GET
:监视 CronJob 对象的更改。已弃用:改用列表操作中的“watch”参数,并使用“fieldSelector”参数过滤为单个项目。
/apis/batch/v1/namespaces/{namespace}/cronjobs/{name}/status
GET
:读取指定的 CronJob 的状态。
PATCH
:部分更新指定的 CronJob 的状态。
PUT
:替换指定的 CronJob 的状态。
GET
列出或监视 CronJob 对象。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
监视 CronJob 列表的单个更改。已弃用:改用列表操作中的“watch”参数。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
DELETE
删除 CronJob 集合。
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出或监视 CronJob 对象。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建 CronJob。
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的除最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将导致请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
监视 CronJob 列表的单个更改。已弃用:改用列表操作中的“watch”参数。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
CronJob 的名称 |
DELETE
删除 CronJob。
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 CronJob。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 CronJob。
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的除最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将导致请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
PUT
替换指定的 CronJob。
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的除最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将导致请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
CronJob 的名称 |
GET
监视 CronJob 对象的更改。已弃用:改用列表操作中的“watch”参数,并使用“fieldSelector”参数过滤为单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
CronJob 的名称 |
GET
读取指定的 CronJob 的状态。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 CronJob 的状态。
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的除最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将导致请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
PUT
替换指定的 CronJob 的状态。
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的除最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,这将导致请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |