×

规范

属性 类型 描述

apiVersion

字符串

APIVersion 定义了对象的此表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。不能更新。采用驼峰命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

对象

ClusterAutoscaler 资源的期望状态

status

对象

ClusterAutoscaler 资源最近观察到的状态

.spec

描述

ClusterAutoscaler 资源的期望状态

类型

对象

属性 类型 描述

balanceSimilarNodeGroups

布尔值

BalanceSimilarNodeGroups 启用/禁用 `--balance-similar-node-groups` 集群自动伸缩器功能。此功能会自动识别具有相同实例类型和相同标签集的节点组,并尝试保持这些节点组的相应大小平衡。

balancingIgnoredLabels

数组 (字符串)

BalancingIgnoredLabels 为集群自动伸缩器上的每个列出的标签设置 "--balancing-ignore-label

expanders

数组 (字符串)

设置在扩展操作期间使用的扩展程序的类型和顺序。此选项指定一个有序列表(优先级最高者优先),集群自动伸缩器将使用这些扩展程序来选择在扩展时要扩展的节点组。扩展程序指示自动伸缩器如何在扩展集群时选择节点组。可以按顺序指定它们,以便第一个扩展程序的结果用作第二个扩展程序的输入,依此类推。例如,如果设置为 `[LeastWaste, Random]`,则自动伸缩器将首先评估节点组以确定哪些组的资源浪费最少,如果选择了多个组,则自动伸缩器将随机选择这些组中的一个作为要扩展的组。可用的扩展程序如下:* LeastWaste - 选择在扩展后空闲 CPU 最少的节点组(如果相同,则选择空闲内存最少的组)。* Priority - 选择用户分配的优先级最高的节点组。详情请参见 https://github.com/openshift/kubernetes-autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md * Random - 随机选择节点组。如果未指定,则默认值为 `Random`,可用选项为:`LeastWaste`、`Priority`、`Random`。

ignoreDaemonsetsUtilization

布尔值

启用/禁用 `--ignore-daemonsets-utilization` CA 功能标志。在计算缩减资源利用率时,CA 是否应忽略 DaemonSet Pod。默认为 false。

logVerbosity

整数

设置自动伸缩器日志级别。默认值为 1,建议使用级别 4 进行调试,级别 6 将启用几乎所有内容。此选项优先于由 `CLUSTER_AUTOSCALER_VERBOSITY` 环境变量设置的日志级别。

maxNodeProvisionTime

字符串

CA 等待节点准备就绪的最长时间

maxPodGracePeriod

整数

在缩减之前为 Pod 提供优雅的终止时间

podPriorityThreshold

整数

允许用户调度“尽力而为”的 Pod,这些 Pod 不应触发集群自动伸缩器操作,而仅在有可用资源时运行,更多信息:https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#how-does-cluster-autoscaler-work-with-pod-priority-and-preemption

resourceLimits

对象

自动伸缩资源的约束

scaleDown

对象

缩减操作的配置

skipNodesWithLocalStorage

布尔值

启用/禁用 `--skip-nodes-with-local-storage` CA 功能标志。如果为 true,则集群自动伸缩器将永远不会删除带有使用本地存储的 Pod 的节点,例如 EmptyDir 或 HostPath。在自动伸缩器中默认为 true。

.spec.resourceLimits

描述

自动伸缩资源的约束

类型

对象

属性 类型 描述

cores

对象

集群中内核的最小和最大数量,格式为 :。集群自动伸缩器不会将集群扩展到超过这些数字。

gpus

数组

集群中不同 GPU 的最小和最大数量,格式为 ::。集群自动伸缩器不会将集群扩展到超过这些数字。可以多次传递。

gpus[]

对象

maxNodesTotal

整数

所有节点组中的最大节点数。集群自动伸缩器不会将集群扩展到超过此数字。

memory

对象

集群中内存的最小和最大 GiB 数,格式为 :。集群自动伸缩器不会将集群扩展到超过这些数字。

.spec.resourceLimits.cores

描述

集群中内核的最小和最大数量,格式为 :。集群自动伸缩器不会将集群扩展到超过这些数字。

类型

对象

必需
  • max

  • min

属性 类型 描述

max

整数

min

整数

.spec.resourceLimits.gpus

描述

集群中不同 GPU 的最小和最大数量,格式为 ::。集群自动伸缩器不会将集群扩展到超过这些数字。可以多次传递。

类型

数组

.spec.resourceLimits.gpus[]

描述
类型

对象

必需
  • max

  • min

  • type

属性 类型 描述

max

整数

min

整数

type

字符串

与最小和最大限制关联的 GPU 类型。集群自动伸缩器使用此值通过在 Node 对象上搜索其作为标签值来识别将具有 GPU 容量的节点。例如,带有标签键 `cluster-api/accelerator` 且标签值与 Type 字段相同的节点将被集群自动伸缩器计算在资源限制内。

.spec.resourceLimits.memory

描述

集群中内存的最小和最大 GiB 数,格式为 :。集群自动伸缩器不会将集群扩展到超过这些数字。

类型

对象

必需
  • max

  • min

属性 类型 描述

max

整数

min

整数

.spec.scaleDown

描述

缩减操作的配置

类型

对象

必需
  • enabled

属性 类型 描述

delayAfterAdd

字符串

扩展后恢复缩减评估的时间长度

delayAfterDelete

字符串

删除节点后恢复缩减评估的时间长度,默认为扫描间隔

delayAfterFailure

字符串

缩减失败后恢复缩减评估的时间长度

enabled

布尔值

CA 是否应该缩减集群

unneededTime

字符串

节点在可以缩减之前应不需要的时间长度

utilizationThreshold

字符串

节点利用率级别,定义为请求资源之和除以容量,低于此级别,可以考虑缩减节点

.status

描述

ClusterAutoscaler 资源最近观察到的状态

类型

对象

API 端点

提供以下 API 端点

  • /apis/autoscaling.openshift.io/v1/clusterautoscalers

    • DELETE:删除 ClusterAutoscaler 集合

    • GET:列出 ClusterAutoscaler 类型的对象

    • POST:创建 ClusterAutoscaler

  • /apis/autoscaling.openshift.io/v1/clusterautoscalers/{name}

    • DELETE:删除 ClusterAutoscaler

    • GET:读取指定的 ClusterAutoscaler

    • PATCH:部分更新指定的 ClusterAutoscaler

    • PUT:替换指定的 ClusterAutoscaler

  • /apis/autoscaling.openshift.io/v1/clusterautoscalers/{name}/status

    • GET:读取指定的 ClusterAutoscaler 的状态

    • PATCH:部分更新指定的 ClusterAutoscaler 的状态

    • PUT:替换指定的 ClusterAutoscaler 的状态

/apis/autoscaling.openshift.io/v1/clusterautoscalers

HTTP 方法

DELETE

描述

删除 ClusterAutoscaler 集合

表 1. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

401 - 未授权

HTTP 方法

GET

描述

列出 ClusterAutoscaler 类型的对象

表 2. HTTP 响应
HTTP 代码 响应体

200 - OK

ClusterAutoscalerList 模式

401 - 未授权

HTTP 方法

POST

描述

创建 ClusterAutoscaler

表 3. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- 忽略:这将忽略任何未知字段,这些字段将从对象中静默删除,并且将忽略解码器遇到的所有重复字段中的最后一个字段以外的所有字段。这是 v1.23 之前的默认行为。- 警告:这将通过标准警告响应标头为从对象中删除的每个未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认设置。- 严格:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。

表 4. 请求体参数
参数 类型 描述

body

ClusterAutoscaler 模式

表 5. HTTP 响应
HTTP 代码 响应体

200 - OK

ClusterAutoscaler 模式

201 - 已创建

ClusterAutoscaler 模式

202 - 已接受

ClusterAutoscaler 模式

401 - 未授权

/apis/autoscaling.openshift.io/v1/clusterautoscalers/{name}

表 6. 全局路径参数
参数 类型 描述

name

字符串

ClusterAutoscaler 的名称

HTTP 方法

DELETE

描述

删除 ClusterAutoscaler

表 7. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

表 8. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

202 - 已接受

Status 模式

401 - 未授权

HTTP 方法

GET

描述

读取指定的 ClusterAutoscaler

表 9. HTTP 响应
HTTP 代码 响应体

200 - OK

ClusterAutoscaler 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 ClusterAutoscaler

表 10. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- 忽略:这将忽略任何未知字段,这些字段将从对象中静默删除,并且将忽略解码器遇到的所有重复字段中的最后一个字段以外的所有字段。这是 v1.23 之前的默认行为。- 警告:这将通过标准警告响应标头为从对象中删除的每个未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认设置。- 严格:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。

表 11. HTTP 响应
HTTP 代码 响应体

200 - OK

ClusterAutoscaler 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 ClusterAutoscaler

表 12. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- 忽略:这将忽略任何未知字段,这些字段将从对象中静默删除,并且将忽略解码器遇到的所有重复字段中的最后一个字段以外的所有字段。这是 v1.23 之前的默认行为。- 警告:这将通过标准警告响应标头为从对象中删除的每个未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认设置。- 严格:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。

表 13. 请求体参数
参数 类型 描述

body

ClusterAutoscaler 模式

表 14. HTTP 响应
HTTP 代码 响应体

200 - OK

ClusterAutoscaler 模式

201 - 已创建

ClusterAutoscaler 模式

401 - 未授权

/apis/autoscaling.openshift.io/v1/clusterautoscalers/{name}/status

表 15. 全局路径参数
参数 类型 描述

name

字符串

ClusterAutoscaler 的名称

HTTP 方法

GET

描述

读取指定的 ClusterAutoscaler 的状态

表 16. HTTP 响应
HTTP 代码 响应体

200 - OK

ClusterAutoscaler 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 ClusterAutoscaler 的状态

表 17. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- 忽略:这将忽略任何未知字段,这些字段将从对象中静默删除,并且将忽略解码器遇到的所有重复字段中的最后一个字段以外的所有字段。这是 v1.23 之前的默认行为。- 警告:这将通过标准警告响应标头为从对象中删除的每个未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认设置。- 严格:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。

表 18. HTTP 响应
HTTP 代码 响应体

200 - OK

ClusterAutoscaler 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 ClusterAutoscaler 的状态

表 19. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- 忽略:这将忽略任何未知字段,这些字段将从对象中静默删除,并且将忽略解码器遇到的所有重复字段中的最后一个字段以外的所有字段。这是 v1.23 之前的默认行为。- 警告:这将通过标准警告响应标头为从对象中删除的每个未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认设置。- 严格:如果从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。

表 20. 请求体参数
参数 类型 描述

body

ClusterAutoscaler 模式

表 21. HTTP 响应
HTTP 代码 响应体

200 - OK

ClusterAutoscaler 模式

201 - 已创建

ClusterAutoscaler 模式

401 - 未授权