CreateAutoscalingConfig - 创建弹性伸缩配置

您可以创建自动弹性伸缩配置,让系统能够按照配置的伸缩规则自动增加或减少计算资源,满足您的集群工作负载的需求。创建过程中,您可以指定扩缩容的度量指标和阈值、扩容顺序、静默时间等。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
cs:CreateAutoscalingConfigcreate
*Cluster
acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}

请求语法

POST /cluster/{ClusterId}/autoscale/config/ HTTP/1.1

请求参数

名称类型必填描述示例值
ClusterIdstring

集群 ID。

cdde1f21ae22e483ebcb068a6eb7f****
bodyobject

请求体数据。

cool_down_durationstring

缩容触发时延,从检测到有缩容需求(达到缩容阈值)到实际执行缩容操作(缩容 Pod 数量)之间的时间间隔。单位:分钟。默认值:10 分钟。

10m
unneeded_durationstring

静默时间。距离最近一次扩容完成后,弹性组件不执行缩容的时间间隔。 扩容出的节点,在静默时间过后,才能进入缩容判断。单位:分钟。

10m
utilization_thresholdstring

缩容阈值,节点上 Request 的资源与总资源量的比值。

仅当该比值低于配置的阈值时,即节点的 CPU 和内存资源利用率均低于缩容阈值时,节点才有可能被缩容。

0.5
gpu_utilization_thresholdstring

GPU 缩容阈值,节点上 Request 的资源与总资源量的比值。

仅当该比值低于配置的阈值时,即节点的 CPU、内存和 GPU 资源利用率均低于 GPU 缩容阈值时,GPU 节点才有可能被缩容。

0.5
scan_intervalstring

弹性灵敏度,用于调整系统判断伸缩的间隔时间。单位:s。默认值为 60s。

30s
scale_down_enabledboolean

是否允许进行节点缩容。取值:

  • true:允许缩容。
  • false:禁止缩容。
true
expanderstring

节点池扩容顺序策略。取值:

  • least-waste :默认策略。如果可扩容节点池有多个,从中选择一个资源浪费最少的节点池进行扩容。
  • random:随机策略。如果可扩容节点池有多个,从中任意选择一个节点池进行扩容。
  • priority :优先级策略。如果可扩容节点池有多个,会按照您自定义的伸缩组顺序,选择优先级高的节点池进行扩容。 优先级的配置存储在 kube-system 命名空间下 ConfigMap 的cluster-autoscaler-priority-expander中。当自动伸缩进行扩容时,实时读取此配置,将可扩容的伸缩组 ID 与配置中伸缩组 ID 进行匹配,在匹配上的伸缩组中选取优先级最大值的伸缩组作为扩容对象。
least-waste
skip_nodes_with_system_podsboolean

cluster-autoscaler 是否缩容运行在 kube-system 命名空间下的 Pod 所在的节点,此功能对 DaemonSet Pod 和 Mirror Pod 不生效。取值:

  • true:不会缩容。
  • false:缩容。
true
skip_nodes_with_local_storageboolean

cluster-autoscaler 是否缩容包含本地存储(如 EmptyDir 或 HostPath)的 Pod 所在的节点。取值:

  • true:不会缩容。
  • false:缩容。
false
daemonset_eviction_for_nodesboolean

cluster-autoscaler 缩容时,是否驱逐节点上的 DaemonSet Pods。取值:

  • true:驱逐。
  • false:不会驱逐。
false
max_graceful_termination_secinteger

缩容节点时等待节点上 Pod 终止的最长时间。单位:s。

14400s
min_replica_countinteger

节点缩容前每个 ReplicaSet 中允许的 Pod 最小数量。

0
recycle_node_deletion_enabledboolean

极速模式节点缩容成功后,是否删除其对应的 K8s Node 对象。关于极速模式更多信息,请参见伸缩模式 。默认值:false。取值:

  • true:极速模式停机后 K8s Node 对象也被删除。不建议设置为 true,可能导致 K8s 对象数据不一致的问题。
  • false:极速模式停机后 K8s Node 对象保留。
false
scale_up_from_zeroboolean

集群 Ready 节点数为 0 时,cluster-autoscaler 是否执行扩容。默认值:true。取值:

  • true:执行扩容。
  • false:不执行扩容。
true

返回参数

名称类型描述示例值
object
cluster_idstring

集群 ID。

cc212d04dfe184547bffaa596********
task_idstring

任务 ID。

T-5fd211e924e1d007********
request_idstring

请求 ID。

AF8BE105-C32B-1269-9774-5510********

示例

正常返回示例

JSON格式

{
  "cluster_id": "cc212d04dfe184547bffaa596********",
  "task_id": "T-5fd211e924e1d007********",
  "request_id": "AF8BE105-C32B-1269-9774-5510********"
}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2023-06-02API 内部配置变更,不影响调用查看变更详情