CCE集群弹性引擎
插件介绍
CCE集群弹性引擎(autoscaler)提供节点池弹性伸缩能力。
字段说明
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| basic | 否 | object | 插件基础配置参数,无需指定。 |
| flavor | 是 | 表2 object | 插件规格参数。 |
| custom | 是 | 表3 object | 插件自定义参数。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| replicas | 是 | String | 实例数,默认为:2。 |
| resources | 是 | Array of resources object | 容器资源(CPU、内存)配额。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| cluster_id | 是 | string | 当前集群ID。 |
| tenant_id | 是 | string | 当前集群所在的项目ID。 |
| scaleDownEnabled | 否 | bool | 是否开启弹性缩容,默认值:false。 |
| scaleDownDelayAfterAdd | 否 | int | 集群触发弹性扩容后,再次启动缩容评估的冷却时间,单位分钟,默认值:10。 |
| scaleDownDelayAfterDelete | 否 | int | 集群触发弹性缩容后,再次启动缩容评估的冷却时间,单位分钟,默认值:10。 |
| scaleDownDelayAfterFailure | 否 | int | 集群触发弹性缩容失败后,再次启动缩容评估的冷却时间,单位分钟,默认值:10。 |
| maxEmptyBulkDeleteFlag | 否 | int | 空闲节点缩容并发数,默认值:10。 |
| unremovableNodeRecheckTimeout | 否 | int | 节点被判定不可缩容后能再次启动检查的时间间隔,单位分钟,默认值:5。 |
| scaleDownUtilizationThreshold | 否 | double | 判断节点可缩容的cpu和内存资源使用率门限,默认0.5。 |
| maxNodesTotal | 否 | int | 集群扩容的节点数量上限,默认1000。 |
| coresTotal | 否 | int | 集群扩容的CPU核数上限,默认32000。 |
| memoryTotal | 否 | int | 集群扩容的内存上限,单位Gi,默认128000。 |
| scaleUpUtilizationEnabled | 否 | bool | 是否开启自定义弹性,默认true。 |
| scaleUpUnscheduledPodEnabled | 否 | bool | 是否开启未调度pod触发自动扩容,默认true。 |
| ignoreDaemonSetsUtilization | 否 | bool | 缩容门限判断时是否忽略daemonset型应用资源占用,默认false。 |
| skipNodesWithCustomControllerPods | 否 | bool | 节点上存在第三方controller创建容器时不进行缩容,默认true。 |
| logLevel | 否 | int | 日志级别,默认4。 |
| multiAZEnable | 否 | bool | 插件中deployment组件多可用部署是否采用强制模式,默认:false。强制模式下插件Deployment实例强制调度到不同可用区的节点上,如集群下节点不满足多可用区,插件实例将无法全部运行。若multiAZEnable与multiAZBalance配置也同时为true,则以multiAZBalance为准使用多可用部署均分模式。 |
| multiAZBalance | 否 | bool | 插件中deployment组件多可用部署是否采用均分模式,默认:false。插件Deployment实例均匀调度到当前集群下各可用区,增加新的可用区后建议扩容插件实例以实现跨可用区高可用部署;均分模式限制不同可用区间插件实例数相差不超过1,单个可用区资源不足会导致后续其他实例无法调度。 |
| tolerations | 否 | Array of 表5 | 污点容忍配置 |
| node_match_expressions | 否 | Array of 表6 | 插件实例亲和性配置 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| limitsCpu | 是 | String | CPU大小限制,单位:m。 |
| limitsMem | 是 | String | 内存大小限制,单位:Mi。 |
| name | 是 | String | 插件名称,固定为:autoscaler。 |
| requestsCpu | 是 | String | 申请的CPU大小,单位:m。 |
| requestsMem | 是 | String | 申请的内存大小,单位:Mi。 |
请求示例
{
"kind": "Addon",
"apiVersion": "v3",
"metadata": {
"annotations": {
"addon.install/type": "install"
}
},
"spec": {
"clusterID": "2292498e-*******-0255ac1001ba",
"version": "1.23.116",
"addonTemplateName": "autoscaler",
"values": {
"basic": {
"basickey":"val"
},
"flavor": {
"replicas": 2,
"resources": [{
"limitsCpu": "1000m",
"limitsMem": "1000Mi",
"name": "autoscaler",
"requestsCpu": "1000m",
"requestsMem": "1000Mi"
}]
},
"custom": {
"cluster_id": "2292498e-*******-0255ac1001ba",
"coresTotal": 32000,
"ignoreDaemonSetsUtilization": false,
"logLevel": 4,
"maxEmptyBulkDeleteFlag": 10,
"maxNodeProvisionTime": 15,
"maxNodesTotal": 1000,
"memoryTotal": 128000,
"multiAZBalance": false,
"multiAZEnabled": false,
"node_match_expressions": [],
"scaleDownDelayAfterAdd": 10,
"scaleDownDelayAfterDelete": 10,
"scaleDownDelayAfterFailure": 3,
"scaleDownEnabled": false,
"scaleDownUnneededTime": 10,
"scaleDownUtilizationThreshold": 0.5,
"scaleUpUnscheduledPodEnabled": true,
"scaleUpUtilizationEnabled": true,
"skipNodesWithCustomControllerPods": true,
"tenant_id": "*****************",
"tolerations": [{
"key": "node.kubernetes.io/not-ready",
"operator": "Exists",
"effect": "NoExecute",
"tolerationSeconds": 60
},
{
"key": "node.kubernetes.io/unreachable",
"operator": "Exists",
"effect": "NoExecute",
"tolerationSeconds": 60
}],
"unremovableNodeRecheckTimeout": 5
}
}
}
}