diff --git a/content/zh-cn/docs/reference/kubernetes-api/workload-resources/job-v1.md b/content/zh-cn/docs/reference/kubernetes-api/workload-resources/job-v1.md
index a283c01425..f2d4b106a8 100644
--- a/content/zh-cn/docs/reference/kubernetes-api/workload-resources/job-v1.md
+++ b/content/zh-cn/docs/reference/kubernetes-api/workload-resources/job-v1.md
@@ -6,7 +6,7 @@ api_metadata:
content_type: "api_reference"
description: "Job 表示单个任务的配置。"
title: "Job"
-weight: 9
+weight: 10
---
@@ -229,14 +229,10 @@ JobSpec 描述了任务执行的情况。
并针对 backoffLimit 进行检查。此字段不能与 restartPolicy=OnFailure 结合使用。
- 此字段是 Beta 级别。当 `JobPodFailurePolicy` 特性门控被启用时(默认被启用),可以使用此字段。
-
**PodFailurePolicy 描述失效的 Pod 如何影响 backoffLimit。**
@@ -274,8 +270,8 @@ JobSpec 描述了任务执行的情况。
running pods are terminated.
- FailIndex: indicates that the pod's index is marked as Failed and will
not be restarted.
- This value is alpha-level. It can be used when the
- `JobBackoffLimitPerIndex` feature gate is enabled (disabled by default).
+ This value is beta-level. It can be used when the
+ `JobBackoffLimitPerIndex` feature gate is enabled (enabled by default).
-->
- **podFailurePolicy.rules.action** (string),必需
@@ -284,7 +280,7 @@ JobSpec 描述了任务执行的情况。
- FailJob:表示 Pod 的任务被标记为 Failed 且所有正在运行的 Pod 都被终止。
- FailIndex:表示 Pod 对应的索引被标记为 Failed 且 Pod 不会被重新启动。
- 此值是 Alpha 级别的。当 `JobBackoffLimitPerIndex` 特性门控被启用时(默认被禁用),可以使用此值。
+ 此值是 Beta 级别的。当 `JobBackoffLimitPerIndex` 特性门控被启用时(默认被启用),可以使用此值。
-
- - **podFailurePolicy.rules.onPodConditions** ([]PodFailurePolicyOnPodConditionsPattern),必需
-
- **原子: 将在合并期间被替换**
-
-
-
- 表示对 Pod 状况的要求。该要求表示为 Pod 状况模式的一个列表。
- 如果至少一个模式与实际的 Pod 状况匹配,则满足此要求。最多允许 20 个。
-
-
- **PodFailurePolicyOnPodConditionsPattern 描述与实际 Pod 状况类型匹配的模式。**
-
-
-
- **podFailurePolicy.rules.onPodConditions.status** (string),必需
指定必需的 Pod 状况状态。要匹配一个 Pod 状况,指定的状态必须等于该 Pod 状况状态。默认为 True。
@@ -411,6 +374,113 @@ JobSpec 描述了任务执行的情况。
将退出码的检查限制为具有指定名称的容器。当为 null 时,该规则适用于所有容器。
当被指定时,它应与 Pod 模板中的容器名称或 initContainer 名称之一匹配。
+
+
+ - **podFailurePolicy.rules.onPodConditions** ([]PodFailurePolicyOnPodConditionsPattern),必需
+
+ **原子: 将在合并期间被替换**
+
+
+
+ 表示对 Pod 状况的要求。该要求表示为 Pod 状况模式的一个列表。
+ 如果至少一个模式与实际的 Pod 状况匹配,则满足此要求。最多允许 20 个。
+
+
+ **PodFailurePolicyOnPodConditionsPattern 描述与实际 Pod 状况类型匹配的模式。**
+
+
+ - **podFailurePolicy.rules.onPodConditions.status** (string),必需
+
+ 指定必需的 Pod 状况状态。要匹配一个 Pod 状况,指定的状态必须等于该 Pod 状况状态。默认为 True。
+
+ - **podFailurePolicy.rules.onPodConditions.type** (string),必需
+
+ 指定必需的 Pod 状况类型。要匹配一个 Pod 状况,指定的类型必须等于该 Pod 状况类型。
+
+- **successPolicy** (SuccessPolicy)
+
+
+ successPolicy 指定策略,用于判定何时可以声明任务为成功。如果为空,则应用默认行为 —— 仅当成功
+ Pod 的数量等于完成数量时,任务才会被声明为成功。指定了该字段时,该字段必须是不可变的,
+ 并且仅适用于带索引的任务。一旦任务满足 `successPolicy`,滞留 Pod 就会被终止。
+
+ 此字段为 Beta 级。要使用此字段,你必须启用 `JobSuccessPolicy` 特性门控(默认启用)。
+
+
+
+
+
+ **successPolicy 描述何时可以根据某些索引的成功将任务声明为成功。**
+
+ **successPolicy.rules** ([]SuccessPolicyRule),必需
+
+ **原子性:合并期间会被替换**
+
+ rules 表示在 `.status.succeeded >= .spec.completions` 之前将任务声明为成功的备选规则列表。
+ 一旦满足任何规则,就会添加 `SucceededCriteriaMet` 状况,并删除滞留的 Pod。
+ 此类 Pod 的最终状态具有 `Complete` 状况。此外,这些规则按顺序进行评估;
+ 一旦任务满足其中一条规则,其他规则将被忽略。最多允许 20 个元素。
+
+
+
+
+ **SuccessPolicyRule 描述了将任务声明为成功的规则。每条规则必须至少指定 `succeededIndexes` 或 `succeededCount` 之一。**
+
+- **successPolicy.rules.succeededCount** (int32)
+
+
+
+ `succeededCount` 指定任务成功索引集所需的最小规模。当 `succeededCount` 与 `succeededIndexes` 一起使用时,
+ 仅检查由 `succeededIndexes` 指定的索引集合。例如,假定 `succeededIndexes` 是
+ "1-4",succeededCount 是 "3",而完成的索引是 "1"、"3" 和 "5",那么该任务不会被视为成功,
+ 因为在该规则下只考虑了 "1" 和 "3" 索引。当该字段为 null 时,不会被视为具有默认值,
+ 并且在任何时候都不会进行评估。当该字段被设置时,所设置的值应是一个正整数。
+
+- **successPolicy.rules.succeededIndexes** (string)
+
+
+
+ `succeededIndexes` 指定需要包含在实际完成索引集合中的各个索引。索引列表必须在 0 到 `.spec.completions-1`
+ 之间,并且不能包含重复项。至少需要一个元素。索引表示为用逗号分隔的区间。
+ 区间可以是一个十进制整数或一对由破折号分隔的十进制整数。数字序列用区间的第一个和最后一个元素来表示,
+ 并用破折号分隔。例如,如果完成的索引是 1、3、4、5 和 7,则表示为 "1,3-5,7"。
+ 当该字段为 null 时,该字段不会默认为任何值,并且在任何时候都不会进行评估。
+
@@ -419,20 +489,36 @@ JobSpec 描述了任务执行的情况。
- **backoffLimitPerIndex**(int32)
指定在将特定索引的 Pod 标记为失败之前在对该 Pod 重试次数的限制。
启用后,各索引的失败次数将保存在 Pod 的 `batch.kubernetes.io/job-index-failure-count` 注解中。
仅当 Job 的 completionMode=Indexed 且 Pod 的重启策略为 Never 时才能设置此字段。
- 此字段是不可变更的。此字段是 Alpha 级别的。
- 当 `JobBackoffLimitPerIndex` 特性门控被启用时(默认被禁用),可以使用此字段。
+ 此字段是不可变更的。此字段是 Beta 级别的。
+ 当 `JobBackoffLimitPerIndex` 特性门控被启用时(默认被启用),可以使用此字段。
+
+- **managedBy** (string)
+
+
+
+ `managedBy` 字段标明管理任务的控制器。
+ Kubernetes 的 Job 控制器会协调那些没有这个字段或字段值为保留字符串 `kubernetes.io/job-controller` 的任务,
+ 但会跳过协调那些为此字段设置了自定义值的任务。字段值必须是一个包含有效域名前缀的路径(例如 `acme.io/foo`)—— 第一个 `/` 之前的全部字符必须符合
+ RFC 1123 定义的有效子域。第一个 / 后面的所有字符必须是 RFC 3986 定义的有效 HTTP 路径字符。
+ 字段值的长度不能超过 63 个字符。此字段是不可变的。
+
+ 此字段处于 Beta 阶段。当启用 `JobManagedBy` 特性门控时(默认情况下禁用),任务控制器接受设置此字段。
- **maxFailedIndexes**(int32)
@@ -441,7 +527,7 @@ JobSpec 描述了任务执行的情况。
如果不设置此字段(对应为 null),则作业继续执行其所有索引,且 Job 会被标记 `Complete` 状况。
此字段只能在设置 backoffLimitPerIndex 时指定。此字段值可以是 null 或完成次数之内的值。
当完成次数大于 10^5 时,此字段是必需的且必须小于等于 10^4。
- 此字段是 Alpha 级别的。当 `JobBackoffLimitPerIndex` 特性门控被启用时(默认禁用),可以使用此字段。
+ 此字段是 Beta 级别的。当 `JobBackoffLimitPerIndex` 特性门控被启用时(默认启用),可以使用此字段。
当使用 podFailurePolicy 时,Failed 是唯一允许值。
当不使用 podFailurePolicy 时,允许使用 TerminatingOrFailed 和 Failed。
- 这是一个 Alpha 级别的字段。启用 JobPodReplacementPolicy 特性门控才能使用此字段。
+ 这是一个 Beta 级别的字段。要使用此特性,请启用 JobPodReplacementPolicy 特性门控。
+ 此特性默认处于被启用状态。
## JobStatus {#JobStatus}
@@ -479,6 +566,8 @@ JobStatus 表示 Job 的当前状态。
Represents time when the job controller started processing a job. When a Job is created in the suspended state, this field is not set until the first time it is resumed. This field is reset every time a Job is resumed from suspension. It is represented in RFC3339 form and is in UTC.
+ Once set, the field can only be removed when the job is suspended. The field cannot be modified while the job is unsuspended or finished.
+
*Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.*
-->
@@ -487,21 +576,23 @@ JobStatus 表示 Job 的当前状态。
表示任务控制器开始处理任务的时间。在挂起状态下创建 Job 时,直到第一次恢复时才会设置此字段。
每次从暂停中恢复任务时都会重置此字段。它表示为 RFC3339 格式的 UTC 时间。
+ 一旦设置,仅当 Job 被挂起时才可移除该字段。Job 取消挂起或完成时,无法修改该字段。
+
**Time 是 time.Time 的包装器,支持正确编码为 YAML 和 JSON。time 包提供的许多工厂方法都提供了包装器。**
- **completionTime** (Time)
- 表示任务完成的时间。不能保证对多个独立操作按发生的先后顺序设置。此字段表示为 RFC3339 格式的 UTC 时间。
- 仅当任务成功完成时才设置完成时间。
+ 表示 Job 完成的时间。不能保证对多个独立操作按发生的先后顺序设置。此字段表示为 RFC3339 格式的 UTC 时间。
+ 完成时间在且仅在 Job 成功完成时设置。该值无法更新或删除。该值表示与 startTime 字段相同或更晚的时间点。
**Time 是 time.Time 的包装器,支持正确编码为 YAML 和 JSON。time 包提供的许多工厂方法都提供了包装器。**
@@ -509,27 +600,28 @@ JobStatus 表示 Job 的当前状态。
- **active** (int32)
- 待处理和正在运行的 Pod 的数量。
+ 未处于终止进程中(未设置 `deletionTimestamp`)的待处理和正在运行的 Pod 数量。对于已完成的 Job,该值为零。
- **failed** (int32)
- 进入 Failed 阶段的 Pod 数量。
+ 进入 Failed 阶段的 Pod 数量。该值单调增加。
- **succeeded** (int32)
- 进入 Succeeded 阶段的 Pod 数量。
+ 进入 Succeeded 阶段的 Pod 数量。对于给定的规范,该值会单调增加。
+ 但是,由于弹性索引任务的缩减,该值可能会减少。
- 使用此字段可能无法跟踪旧任务,在这种情况下,该字段保持为空。
+ 使用此字段可能无法跟踪旧任务,在这种情况下,该字段保持为空。对于已完成的任务,此结构为空。
**UncountedTerminatedPods 持有已经终止的 Pod 的 UID,但还没有被计入工作状态计数器中。**
@@ -704,15 +804,11 @@ JobStatus 表示 Job 的当前状态。
- **ready** (int32)
- 状况为 Ready 的 Pod 数量。
-
- 此字段为 Beta 级别。当特性门控 JobReadyPods 启用(默认启用)时,任务控制器会填充该字段。
+ 具有 Ready 状况且未处于终止过程中(没有设置 `deletionTimestamp`)的活动 Pod 的数量。
- **failedIndexes** (string)
- 当 backoffLimitPerIndex=true 时,failedIndexes 保存失败的索引。
+ 当设置了 `spec.backoffLimitPerIndex` 时,failedIndexes 保存失败的索引。
索引以文本格式表示,类似于 `completedIndexes` 字段,即这些索引是使用逗号分隔的十进制整数。
这些数字按升序列出。三个或更多连续的数字会被压缩,整个序列表示为第一个数字、连字符和最后一个数字。
例如,如果失败的索引是 1、3、4、5 和 7,则表示为 "1,3-5,7"。
- 该字段是 Alpha 级别的。当 `JobBackoffLimitPerIndex` 特性门控被启用时(默认被禁用),可以使用此字段。
+ 失败索引集不能与完成索引集重叠。
+
+ 该字段是 Beta 级别的。当 `JobBackoffLimitPerIndex` 特性门控被启用时(默认被启用),可以使用此字段。
- **terminating**(int32)
正在终止的 Pod 数量(处于 Pending 或 Running 阶段且具有 deletionTimestamp)。
- 此字段是 Alpha 级别的。当特性门控 JobPodReplacementPolicy 被启用时(默认被禁用),
+ 此字段是 Beta 级别的。当特性门控 JobPodReplacementPolicy 被启用时(默认被启用),
Job 控制器会填充该字段。
## JobList {#JobList}