@@ -99,9 +99,9 @@ stateful tasks.
99
99
一个插件可以在多个扩展点处注册,以执行更复杂或有状态的任务。
100
100
101
101
<!--
102
- {{< figure src="/images/docs/scheduling-framework-extensions.png" title="scheduling framework extension points" >}}
102
+ {{< figure src="/images/docs/scheduling-framework-extensions.png" title="scheduling framework extension points" class="diagram-large" >}}
103
103
-->
104
- {{< figure src="/images/docs/scheduling-framework-extensions.png" title="调度框架扩展点" >}}
104
+ {{< figure src="/images/docs/scheduling-framework-extensions.png" title="调度框架扩展点" class="diagram-large" >}}
105
105
106
106
<!--
107
107
### QueueSort {#queue-sort}
@@ -113,42 +113,42 @@ These plugins are used to sort Pods in the scheduling queue. A queue sort plugin
113
113
essentially provides a `less(Pod1, Pod2)` function. Only one queue sort
114
114
plugin may be enabled at a time.
115
115
-->
116
- 队列排序插件用于对调度队列中的 Pod 进行排序。
116
+ 这些插件用于对调度队列中的 Pod 进行排序。
117
117
队列排序插件本质上提供 ` less(Pod1, Pod2) ` 函数。
118
118
一次只能启动一个队列插件。
119
119
120
120
<!--
121
121
### PreFilter {#pre-filter}
122
122
-->
123
- ### 前置过滤 {#pre-filter}
123
+ ### PreFilter {#pre-filter}
124
124
125
125
<!--
126
126
These plugins are used to pre-process info about the Pod, or to check certain
127
127
conditions that the cluster or the Pod must meet. If a PreFilter plugin returns
128
128
an error, the scheduling cycle is aborted.
129
129
-->
130
- 前置过滤插件用于预处理 Pod 的相关信息,或者检查集群或 Pod 必须满足的某些条件。
130
+ 这些插件用于预处理 Pod 的相关信息,或者检查集群或 Pod 必须满足的某些条件。
131
131
如果 PreFilter 插件返回错误,则调度周期将终止。
132
132
133
133
<!--
134
134
### Filter
135
135
-->
136
- ### 过滤
136
+ ### Filter
137
137
138
138
<!--
139
139
These plugins are used to filter out nodes that cannot run the Pod. For each
140
140
node, the scheduler will call filter plugins in their configured order. If any
141
141
filter plugin marks the node as infeasible, the remaining plugins will not be
142
142
called for that node. Nodes may be evaluated concurrently.
143
143
-->
144
- 过滤插件用于过滤出不能运行该 Pod 的节点。对于每个节点,
144
+ 这些插件用于过滤出不能运行该 Pod 的节点。对于每个节点,
145
145
调度器将按照其配置顺序调用这些过滤插件。如果任何过滤插件将节点标记为不可行,
146
146
则不会为该节点调用剩下的过滤插件。节点可以被同时进行评估。
147
147
148
148
<!--
149
149
### PostFilter {#post-filter}
150
150
-->
151
- ### 后置过滤 {#post-filter}
151
+ ### PostFilter {#post-filter}
152
152
153
153
<!--
154
154
These plugins are called after Filter phase, but only when no feasible nodes
@@ -157,29 +157,28 @@ any postFilter plugin marks the node as `Schedulable`, the remaining plugins
157
157
will not be called. A typical PostFilter implementation is preemption, which
158
158
tries to make the pod schedulable by preempting other Pods.
159
159
-->
160
-
161
- 这些插件在筛选阶段后调用,但仅在该 Pod 没有可行的节点时调用。
162
- 插件按其配置的顺序调用。如果任何后过滤器插件标记节点为“可调度”,
163
- 则其余的插件不会调用。典型的后筛选实现是抢占,试图通过抢占其他 Pod
160
+ 这些插件在 Filter 阶段后调用,但仅在该 Pod 没有可行的节点时调用。
161
+ 插件按其配置的顺序调用。如果任何 PostFilter 插件标记节点为“Schedulable”,
162
+ 则其余的插件不会调用。典型的 PostFilter 实现是抢占,试图通过抢占其他 Pod
164
163
的资源使该 Pod 可以调度。
165
164
166
165
<!--
167
166
### PreScore {#pre-score}
168
167
-->
169
- ### 前置评分 {#pre-score}
168
+ ### PreScore {#pre-score}
170
169
171
170
<!--
172
171
These plugins are used to perform "pre-scoring" work, which generates a sharable
173
172
state for Score plugins to use. If a PreScore plugin returns an error, the
174
173
scheduling cycle is aborted.
175
174
-->
176
- 前置评分插件用于执行 “前置评分” 工作,即生成一个可共享状态供评分插件使用 。
175
+ 这些插件用于执行 “前置评分(pre-scoring) ” 工作,即生成一个可共享状态供 Score 插件使用 。
177
176
如果 PreScore 插件返回错误,则调度周期将终止。
178
177
179
178
<!--
180
179
### Score {#scoring}
181
180
-->
182
- ### 评分 {#scoring}
181
+ ### Score {#scoring}
183
182
184
183
<!--
185
184
These plugins are used to rank nodes that have passed the filtering phase. The
@@ -188,24 +187,24 @@ defined range of integers representing the minimum and maximum scores. After the
188
187
[NormalizeScore](#normalize-scoring) phase, the scheduler will combine node
189
188
scores from all plugins according to the configured plugin weights.
190
189
-->
191
- 评分插件用于对通过过滤阶段的节点进行排名 。调度器将为每个节点调用每个评分插件。
190
+ 这些插件用于对通过过滤阶段的节点进行排序 。调度器将为每个节点调用每个评分插件。
192
191
将有一个定义明确的整数范围,代表最小和最大分数。
193
192
在[ 标准化评分] ( #normalize-scoring ) 阶段之后,调度器将根据配置的插件权重
194
193
合并所有插件的节点分数。
195
194
196
195
<!--
197
196
### NormalizeScore {#normalize-scoring}
198
197
-->
199
- ### 标准化评分 {#normalize-scoring}
198
+ ### NormalizeScore {#normalize-scoring}
200
199
201
200
<!--
202
201
These plugins are used to modify scores before the scheduler computes a final
203
202
ranking of Nodes. A plugin that registers for this extension point will be
204
203
called with the [Score](#scoring) results from the same plugin. This is called
205
204
once per plugin per scheduling cycle.
206
205
-->
207
- 标准化评分插件用于在调度器计算节点的排名之前修改分数 。
208
- 在此扩展点注册的插件将使用同一插件的 [ 评分 ] ( #scoring ) 结果被调用 。
206
+ 这些插件用于在调度器计算 Node 排名之前修改分数 。
207
+ 在此扩展点注册的插件被调用时会使用同一插件的 [ Score ] ( #scoring ) 结果 。
209
208
每个插件在每个调度周期调用一次。
210
209
211
210
<!--
@@ -278,8 +277,8 @@ state, it will either trigger [Unreserve](#unreserve) plugins (on failure) or
278
277
[PostBind](#post-bind) plugins (on success) at the end of the binding cycle.
279
278
-->
280
279
这个是调度周期的最后一步。
281
- 一旦 Pod 处于保留状态,它将在绑定周期结束时触发[ 不保留 ] ( #unreserve ) 插件
282
- (失败时)或 [ 绑定后 ] ( #post-bind ) 插件(成功时)。
280
+ 一旦 Pod 处于保留状态,它将在绑定周期结束时触发 [ Unreserve ] ( #unreserve ) 插件
281
+ (失败时)或 [ PostBind ] ( #post-bind ) 插件(成功时)。
283
282
284
283
<!--
285
284
### Permit
@@ -335,28 +334,28 @@ is approved, it is sent to the [PreBind](#pre-bind) phase.
335
334
尽管任何插件可以访问 “等待中” 状态的 Pod 列表并批准它们
336
335
(查看 [ ` FrameworkHandle ` ] ( https://git.k8s.io/enhancements/keps/sig-scheduling/624-scheduling-framework#frameworkhandle ) )。
337
336
我们期望只有允许插件可以批准处于 “等待中” 状态的预留 Pod 的绑定。
338
- 一旦 Pod 被批准了,它将发送到[ 预绑定 ] ( #pre-bind ) 阶段。
337
+ 一旦 Pod 被批准了,它将发送到 [ PreBind ] ( #pre-bind ) 阶段。
339
338
{{< /note >}}
340
339
341
340
<!--
342
341
### Pre-bind {#pre-bind}
343
342
-->
344
- ### 预绑定 {#pre-bind}
343
+ ### PreBind {#pre-bind}
345
344
346
345
<!--
347
346
These plugins are used to perform any work required before a Pod is bound. For
348
347
example, a pre-bind plugin may provision a network volume and mount it on the
349
348
target node before allowing the Pod to run there.
350
349
-->
351
- 预绑定插件用于执行 Pod 绑定前所需的任何工作 。
352
- 例如,一个预绑定插件可能需要提供网络卷并且在允许 Pod 运行在该节点之前
350
+ 这些插件用于执行 Pod 绑定前所需的所有工作 。
351
+ 例如,一个 PreBind 插件可能需要制备网络卷并且在允许 Pod 运行在该节点之前
353
352
将其挂载到目标节点上。
354
353
355
354
<!--
356
355
If any PreBind plugin returns an error, the Pod is [rejected](#unreserve) and
357
356
returned to the scheduling queue.
358
357
-->
359
- 如果任何 PreBind 插件返回错误,则 Pod 将被[ 拒绝] ( #unreserve ) 并且
358
+ 如果任何 PreBind 插件返回错误,则 Pod 将被 [ 拒绝] ( #unreserve ) 并且
360
359
退回到调度队列中。
361
360
362
361
<!--
@@ -372,21 +371,21 @@ Pod. If a bind plugin chooses to handle a Pod, **the remaining bind plugins are
372
371
skipped**.
373
372
-->
374
373
Bind 插件用于将 Pod 绑定到节点上。直到所有的 PreBind 插件都完成,Bind 插件才会被调用。
375
- 各绑定插件按照配置顺序被调用。绑定插件可以选择是否处理指定的 Pod。
376
- 如果绑定插件选择处理 Pod,** 剩余的绑定插件将被跳过 ** 。
374
+ 各 Bind 插件按照配置顺序被调用。Bind 插件可以选择是否处理指定的 Pod。
375
+ 如果某 Bind 插件选择处理某 Pod,** 剩余的 Bind 插件将被跳过 ** 。
377
376
378
377
<!--
379
378
### PostBind {#post-bind}
380
379
-->
381
- ### 绑定后 {#post-bind}
380
+ ### PostBind {#post-bind}
382
381
383
382
<!--
384
383
This is an informational extension point. Post-bind plugins are called after a
385
384
Pod is successfully bound. This is the end of a binding cycle, and can be used
386
385
to clean up associated resources.
387
386
-->
388
387
这是个信息性的扩展点。
389
- 绑定后插件在 Pod 成功绑定后被调用。这是绑定周期的结尾,可用于清理相关的资源。
388
+ PostBind 插件在 Pod 成功绑定后被调用。这是绑定周期的结尾,可用于清理相关的资源。
390
389
391
390
<!--
392
391
### Unreserve
@@ -406,7 +405,7 @@ Unreserve 插件应该清楚保留 Pod 的相关状态。
406
405
Plugins that use this extension point usually should also use
407
406
[Reserve](#reserve).
408
407
-->
409
- 使用此扩展点的插件通常也使用[ Reserve] ( #reserve ) 。
408
+ 使用此扩展点的插件通常也使用 [ Reserve] ( #reserve ) 。
410
409
411
410
<!--
412
411
## Plugin API
@@ -461,7 +460,7 @@ plugins and get them configured along with default plugins. You can visit
461
460
[scheduler-plugins](https://github.com/kubernetes-sigs/scheduler-plugins) for more details.
462
461
-->
463
462
除了默认的插件,你还可以实现自己的调度插件并且将它们与默认插件一起配置。
464
- 你可以访问[ scheduler-plugins] ( https://github.com/kubernetes-sigs/scheduler-plugins )
463
+ 你可以访问 [ scheduler-plugins] ( https://github.com/kubernetes-sigs/scheduler-plugins )
465
464
了解更多信息。
466
465
467
466
<!--
@@ -472,3 +471,5 @@ Learn more at [multiple profiles](/docs/reference/scheduling/config/#multiple-pr
472
471
如果你正在使用 Kubernetes v1.18 或更高版本,你可以将一组插件设置为
473
472
一个调度器配置文件,然后定义不同的配置文件来满足各类工作负载。
474
473
了解更多关于[ 多配置文件] ( /zh/docs/reference/scheduling/config/#multiple-profiles ) 。
474
+
475
+
0 commit comments