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 } } } }