Job 表示单个作业的配置。
Job 表示单个作业的配置。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
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 |
|
|
|
JobSpec 描述了作业执行的状况。 |
|
|
JobStatus 表示作业的当前状态。 |
JobSpec 描述了作业执行的状况。
对象
template
属性 | 类型 | 描述 |
---|---|---|
|
|
指定作业在系统尝试终止它之前相对于 startTime 可以持续处于活动状态的持续时间(以秒为单位);值必须是正整数。如果作业被暂停(在创建时或通过更新),则此计时器将有效停止,并在作业再次恢复时重置。 |
|
|
指定在将此作业标记为失败之前的重试次数。默认为 6 |
|
|
指定在将此索引标记为失败之前,在一个索引内重试次数的限制。启用后,每个索引的失败次数将保存在 pod 的 batch.kubernetes.io/job-index-failure-count 注释中。只有当作业的 completionMode=Indexed 且 Pod 的重启策略为 Never 时,才能设置此字段。此字段是不可变的。此字段处于测试阶段。当启用 |
|
|
completionMode 指定如何跟踪 Pod 完成情况。它可以是
将来可以添加更多完成模式。如果作业控制器观察到它不识别的模式(由于版本偏差,在升级过程中可能发生),则控制器会跳过作业的更新。 可能的枚举值:- |
|
|
指定作业应运行的成功完成的 Pod 的所需数量。设置为 null 表示任何 Pod 的成功都表示所有 Pod 的成功,并允许并行性具有任何正值。设置为 1 表示并行性限制为 1,并且该 Pod 的成功表示作业的成功。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/controllers/jobs-run-to-completion/ |
|
|
此字段处于 alpha 级别。启用功能开关 |
|
|
|
|
|
当设置 |
|
|
指定作业在任何给定时间应运行的 Pod 的最大预期数量。当 ((.spec.completions - .status.successful) < .spec.parallelism) 时,即剩余工作量小于最大并行度时,稳定状态下运行的 Pod 实际数量将小于此数量。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/controllers/jobs-run-to-completion/ |
|
|
PodFailurePolicy 描述失败的 Pod 如何影响 |
|
|
使用 可能的枚举值:- |
|
对应该匹配 Pod 计数的 Pod 的标签查询。通常情况下,系统会为您设置此字段。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/labels/#label-selectors |
|
|
|
SuccessPolicy 描述基于某些索引的成功情况,何时可以将作业声明为成功。 |
|
|
|
|
描述执行作业时将创建的 Pod。唯一允许的 |
|
|
|
|
PodFailurePolicy 描述失败的 Pod 如何影响 backoffLimit
。
对象
rules
属性 | 类型 | 描述 |
---|---|---|
|
|
Pod 失败策略规则列表。这些规则按顺序评估。一旦规则匹配 Pod 失败,就会忽略其余规则。当没有规则匹配 Pod 失败时,将应用默认处理 - Pod 失败计数器递增,并与 |
|
|
PodFailurePolicyRule 描述在满足要求时如何处理 Pod 失败。每个规则中可以使用 |
Pod 失败策略规则列表。这些规则按顺序评估。一旦规则匹配 Pod 失败,就会忽略其余规则。当没有规则匹配 Pod 失败时,将应用默认处理 - Pod 失败计数器递增,并与 backoffLimit
进行检查。最多允许 20 个元素。
数组
PodFailurePolicyRule 描述在满足要求时如何处理 Pod 失败。每个规则中可以使用 onExitCodes
或 onPodConditions
之一,但不能同时使用两者。
对象
action
属性 | 类型 | 描述 |
---|---|---|
|
|
指定在满足要求时对 Pod 失败采取的操作。可能的值包括 - 可能的枚举值:- |
|
|
PodFailurePolicyOnExitCodesRequirement 描述了基于容器退出码处理失败 Pod 的需求。具体来说,它会查找每个应用容器和 init 容器状态的 `.state.terminated.exitCode`,分别由 Pod 状态中的 `.status.containerStatuses` 和 `.status.initContainerStatuses` 字段表示。成功完成(退出码为 0)的容器将从需求检查中排除。 |
|
|
表示对 Pod 条件的需求。该需求表示为 Pod 条件模式的列表。如果至少有一个模式与实际的 Pod 条件匹配,则满足该需求。最多允许 20 个元素。 |
|
|
PodFailurePolicyOnPodConditionsPattern 描述了匹配实际 Pod 条件类型的模式。 |
PodFailurePolicyOnExitCodesRequirement 描述了基于容器退出码处理失败 Pod 的需求。具体来说,它会查找每个应用容器和 init 容器状态的 `.state.terminated.exitCode`,分别由 Pod 状态中的 `.status.containerStatuses` 和 `.status.initContainerStatuses` 字段表示。成功完成(退出码为 0)的容器将从需求检查中排除。
对象
operator
values
属性 | 类型 | 描述 |
---|---|---|
|
|
将退出码检查限制为具有指定名称的容器。当为 null 时,规则适用于所有容器。当指定时,它应该与 Pod 模板中的容器或 init 容器名称之一匹配。 |
|
|
表示容器退出码与指定值之间的关系。成功完成(退出码为 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 时,此字段不会默认为任何值,并且永远不会在任何时间进行评估。 |
JobStatus 表示作业的当前状态。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
未终止(无 deletionTimestamp)的挂起和运行 Pod 的数量。已完成作业的值为零。 |
|
|
当 .spec.completionMode = "Indexed" 时,completedIndexes 以文本格式保存已完成的索引。索引表示为以逗号分隔的小数整数。数字按升序排列。三个或更多连续数字被压缩并由序列的第一个和最后一个元素表示,用短横线分隔。例如,如果已完成的索引为 1、3、4、5 和 7,则表示为“1,3-5,7”。 |
|
表示作业完成的时间。不能保证在不同操作之间按 happens-before 顺序设置。它以 RFC3339 格式表示,并且为 UTC 时间。作业成功完成时设置完成时间,并且仅在完成时设置。该值不能更新或删除。该值表示与 startTime 字段相同或更晚的时间点。 |
|
|
|
对象当前状态的最新可用观察结果。当作业失败时,其中一个条件的类型将为“Failed”且状态为 true。当作业挂起时,其中一个条件的类型将为“Suspended”且状态为 true;当作业恢复时,此条件的状态将变为 false。当作业完成时,其中一个条件的类型将为“Complete”且状态为 true。 当作业处于终止条件(“Complete”或“Failed”)时,该作业被认为已完成。“Complete”和“Failed”条件不能同时存在。此外,它不能同时处于“Complete”和“FailureTarget”条件。“Complete”、“Failed”和“FailureTarget”条件不能被禁用。 更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/controllers/jobs-run-to-completion/ |
|
|
JobCondition 描述了作业的当前状态。 |
|
|
达到失败阶段的 Pod 数量。该值单调递增。 |
|
|
当设置 spec.backoffLimitPerIndex 时,FailedIndexes 保存失败的索引。索引以类似于 此字段为 Beta 级别。当启用 |
|
|
具有就绪条件的 Pod 数量。 |
|
表示作业控制器开始处理作业的时间。当作业以挂起状态创建时,此字段在第一次恢复之前不会设置。每次作业从挂起状态恢复时,此字段都会重置。它以 RFC3339 格式表示,且为 UTC 时间。 一旦设置,只有在作业挂起时才能删除此字段。在作业未挂起或已完成时,无法修改此字段。 |
|
|
|
达到成功阶段的 Pod 数量。对于给定的规范,该值单调递增。但是,它可能会因弹性索引作业的缩容而减少。 |
|
|
正在终止的 Pod 数量(处于 Pending 或 Running 阶段且具有 deletionTimestamp)。 此字段处于 Beta 级别。当启用特性门控 JobPodReplacementPolicy(默认启用)时,作业控制器会填充此字段。 |
|
|
UncountedTerminatedPods 保存已终止但尚未计入作业状态计数器的 Pod 的 UID。 |
对象当前状态的最新可用观察结果。当作业失败时,其中一个条件的类型将为“Failed”且状态为 true。当作业挂起时,其中一个条件的类型将为“Suspended”且状态为 true;当作业恢复时,此条件的状态将变为 false。当作业完成时,其中一个条件的类型将为“Complete”且状态为 true。
当作业处于终止条件(“Complete”或“Failed”)时,该作业被认为已完成。“Complete”和“Failed”条件不能同时存在。此外,它不能同时处于“Complete”和“FailureTarget”条件。“Complete”、“Failed”和“FailureTarget”条件不能被禁用。
数组
提供以下 API 端点
/apis/batch/v1/jobs
GET
:列出或监视 Job 类型对象
/apis/batch/v1/watch/jobs
GET
:监视对 Job 列表的单个更改。已弃用:改为使用列表操作中的“watch”参数。
/apis/batch/v1/namespaces/{namespace}/jobs
DELETE
:删除 Job 集合
GET
:列出或监视 Job 类型对象
POST
:创建一个 Job
/apis/batch/v1/watch/namespaces/{namespace}/jobs
GET
:监视对 Job 列表的单个更改。已弃用:改为使用列表操作中的“watch”参数。
/apis/batch/v1/namespaces/{namespace}/jobs/{name}
DELETE
:删除一个 Job
GET
:读取指定的 Job
PATCH
:部分更新指定的 Job
PUT
:替换指定的 Job
/apis/batch/v1/watch/namespaces/{namespace}/jobs/{name}
GET
:监视对 Job 类型对象的更改。已弃用:改为使用列表操作中的“watch”参数,并使用“fieldSelector”参数过滤为单个项目。
/apis/batch/v1/namespaces/{namespace}/jobs/{name}/status
GET
:读取指定的 Job 的状态
PATCH
:部分更新指定的 Job 的状态
PUT
:替换指定的 Job 的状态
GET
列出或监视 Job 类型对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
监视对 Job 列表的单个更改。已弃用:改为使用列表操作中的“watch”参数。
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
DELETE
删除 Job 集合
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出或监视 Job 类型对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建一个 Job
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 中的默认值 - Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
监视对 Job 列表的单个更改。已弃用:改为使用列表操作中的“watch”参数。
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Job 的名称 |
DELETE
删除一个 Job
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 Job
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 Job
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 中的默认值 - Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
PUT
替换指定的 Job
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 中的默认值 - Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Job 的名称 |
GET
监视对 Job 类型对象的更改。已弃用:改为使用列表操作中的“watch”参数,并使用“fieldSelector”参数过滤为单个项目。
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Job 的名称 |
GET
读取指定的 Job 的状态
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 Job 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 中的默认值 - Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
PUT
替换指定的 Job 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 中的默认值 - Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将使请求失败并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |