Scheduler 保持集群范围的配置信息以运行 Kubernetes 调度程序并影响其放置决策。此配置的规范名称为cluster
。兼容性级别 1:在主要版本中稳定至少 12 个月或 3 个次要版本(以较长者为准)。
Scheduler 保持集群范围的配置信息以运行 Kubernetes 调度程序并影响其放置决策。此配置的规范名称为cluster
。兼容性级别 1:在主要版本中稳定至少 12 个月或 3 个次要版本(以较长者为准)。
对象
spec
属性 | 类型 | 描述 |
---|---|---|
|
|
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 |
|
|
|
spec 包含用户可设置的配置值 |
|
|
status 包含来自集群的观察值。它们不能被覆盖。 |
spec 包含用户可设置的配置值
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
defaultNodeSelector 有助于设置集群范围的默认节点选择器,以将 Pod 放置限制在特定节点。这适用于在所有命名空间中创建的 Pod,并与 Pod 上已设置的任何现有 nodeSelector 创建交集,从而进一步约束该 Pod 的选择器。例如,defaultNodeSelector: "type=user-node,region=east" 会将 Pod spec 中的 nodeSelector 字段设置为 "type=user-node,region=east",用于在所有命名空间中创建的所有 Pod。即使设置了此字段,具有项目范围节点选择器的命名空间也不会受到影响。这会向命名空间添加一个注释部分。例如,如果使用 node-selector='type=user-node,region=east' 创建新的命名空间,则注释 openshift.io/node-selector: type=user-node,region=east 将添加到项目中。当在项目上设置 openshift.io/node-selector 注释时,优先使用该值而不是我们为 defaultNodeSelector 字段设置的值。例如,openshift.io/node-selector: "type=user-node,region=west" 表示在 defaultNodeSelector 中设置的 "type=user-node,region=east" 默认值将不会应用。 |
|
|
MastersSchedulable 允许 master 节点可调度。启用此标志后,集群中的所有 master 节点都将变为可调度状态,以便工作负载 Pod 可以在其上运行。此字段的默认值为 false,这意味着没有 master 节点可调度。重要提示:一旦工作负载 Pod 开始在 master 节点上运行,必须格外小心,以确保集群关键的控制平面组件不受影响。请在进行尽职调查后启用此字段。 |
|
|
已弃用:调度程序 Policy API 已弃用,将在将来的版本中删除。policy 是对包含调度程序策略的 ConfigMap 的引用,该策略具有用户指定的谓词和优先级。如果此 ConfigMap 不可用,调度程序将默认为使用 DefaultAlgorithmProvider。此 configmap 的命名空间为 openshift-config。 |
|
|
profile 设置应设置哪个调度配置文件以配置新 Pod 的调度决策。有效值为“LowNodeUtilization”、“HighNodeUtilization”、“NoScoring”,默认为“LowNodeUtilization” |
提供以下 API 端点
/apis/config.openshift.io/v1/schedulers
DELETE
:删除 Scheduler 集合
GET
:列出 Scheduler 对象
POST
:创建一个 Scheduler
/apis/config.openshift.io/v1/schedulers/{name}
DELETE
:删除一个 Scheduler
GET
:读取指定的 Scheduler
PATCH
:部分更新指定的 Scheduler
PUT
:替换指定的 Scheduler
/apis/config.openshift.io/v1/schedulers/{name}/status
GET
:读取指定的 Scheduler 的状态
PATCH
:部分更新指定的 Scheduler 的状态
PUT
:替换指定的 Scheduler 的状态
DELETE
删除 Scheduler 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出 Scheduler 对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建一个 Scheduler
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指令指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值如下:- Ignore:忽略任何未知字段,这些字段将从对象中静默删除,并且只保留解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:针对每个从对象中删除的未知字段和遇到的每个重复字段,通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则将请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Scheduler 的名称 |
DELETE
删除 Scheduler
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 Scheduler
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 Scheduler
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指令指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值如下:- Ignore:忽略任何未知字段,这些字段将从对象中静默删除,并且只保留解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:针对每个从对象中删除的未知字段和遇到的每个重复字段,通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则将请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 Scheduler
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指令指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值如下:- Ignore:忽略任何未知字段,这些字段将从对象中静默删除,并且只保留解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:针对每个从对象中删除的未知字段和遇到的每个重复字段,通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则将请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
Scheduler 的名称 |
GET
读取指定的 Scheduler 的状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 Scheduler 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指令指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值如下:- Ignore:忽略任何未知字段,这些字段将从对象中静默删除,并且只保留解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:针对每个从对象中删除的未知字段和遇到的每个重复字段,通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则将请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 Scheduler 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指令指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值如下:- Ignore:忽略任何未知字段,这些字段将从对象中静默删除,并且只保留解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:针对每个从对象中删除的未知字段和遇到的每个重复字段,通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则将请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |