节点弹性伸缩策略 弹性伸缩策略配置说明 自定义规则 规则类型 参数设置 指标触发 触发条件 当节点池内任一节点的CPU、内存满足设置的阈值 执行动作:达到触发条件后所要执行的动作。 定时触发 触发时间:可选择每天、每周、每月或每年的具体时间点。 执行动作:达到触发时间值后所要执行的动作,为节点池增加或减少指定数量的节点 告警触发 触发时间:当节点池内任一节点的告警指标满足设置的阈值 执行动作:达到触发条件后所要执行的动作,为节点池增加或减少指定数量的节点 冷却时间 冷却时间为节点池级别的配置,当上一次触发扩缩之后在冷却时间内即使弹性伸缩条件满足,也不会触发弹性伸缩 YAML样式 plaintext kind: HorizontalNodeAutoscaler apiVersion: autoscaler.ccse.ctyun.cn/v1 metadata: name: {节点池名称}{集群Id} // defaulta2f1e09a01da444d989f7861a55c1c5e spec: disable: false //禁用状态,false表示开启 rules: action: type: ScaleUp //ScaleDown表示缩容,ScaleUp表示扩容 unit: Node //当前仅支持Node value: 1 //扩缩节点的数量 cronTrigger: //当type为Cron时,传cronTrigger;type为Metric时传metricTrigger;type为Alarm时传alarmTrigger schedule: 8 17 //定时的cron表达式 disable: false ruleName: rule04130 //每一个rule的ruleName唯一即可, type: Cron //策略类型,包括Cron(定时)、Metric(监控)、Alarm(告警) action: type: ScaleUp unit: Node value: 1 disable: false //禁用状态 metricTrigger: //type为Metric时传metricTrigger metricName: cpuutil //指标名称,支持cpuutil、memutil metricOperation: gt //gt大于,lt:小于 metricValue: '80' //阈值 ruleName: rule09974 type: Metric action: type: ScaleUp unit: Node value: 1 disable: false alarmTrigger: evaluationCount: 2 //199 ,连续出现n次 fun: avg //avg(平均值)、max(最大值)、min(最小值) metric: cpuutil //diskreadbytesrate(磁盘读速率)、diskwritebytesrate(磁盘写速率)、memutil(内存使用率)、diskreadrequestsrate(磁盘读请求速率)、diskwriterequestsrate(磁盘写请求速率)、netoutbytesrate(网络流出速率)、netinbytesrate(网络流入速率) operator: ge //取值范围:eq:等于。gt:大于。ge:大于等于。lt:小于。le:小于等于 value: '80' //阈值 period: 5m //监控周期 ruleName: rule42857 type: Alarm targetNodepools: default //节点池的名称 coolDown: 3 //冷却时间,单位为min 关键参数说明 参数 参数类型 是否必填 描述 spec.coolDown Integer 必填 冷却时间,单位为min spec.disable Bool 是 伸缩策略开关,会对策略中的所有规则生效 spec.rules Array 否 伸缩策略中的所有规则 spec.rules[x].action.type String 当spec.rules不为空时必填 规则操作类型,当前支持“ScaleUp”、“ScaleDown” spec.rules[x].action.unit String 当spec.rules不为空时必填 规则操作单位,当前仅支持“Node” spec.rules[x].action.value Integer 当spec.rules不为空时必填 规则操作数值 spec.rules[x].alarmTrigger / 否 可选,仅在告警规则中有效 spec.rules[x].alarmTrigger.evaluationCount Integer 当spec.rules[x].alarmTrigger不为空时必填 告警规则的连续持续n次,防止抖动,最小为1 spec.rules[x].alarmTrigger.fun String 当spec.rules[x].alarmTrigger不为空时必填 avg(平均值)、max(最大值)、min(最小值) spec.rules[x].alarmTrigger.metric String 当spec.rules[x].alarmTrigger不为空时必填 告警规则对应的指标,当前支持 diskreadbytesrate(磁盘读速率)、diskwritebytesrate(磁盘写速率)、memutil(内存使用率)、diskreadrequestsrate(磁盘读请求速率)、diskwriterequestsrate(磁盘写请求速率)、netoutbytesrate(网络流出速率)、netinbytesrate(网络流入速率) spec.rules[x].alarmTrigger.operator String 当spec.rules[x].alarmTrigger不为空时必填 告警规则的比较符,取值范围:eq:等于。gt:大于。ge:大于等于。lt:小于。le:小于等于 spec.rules[x].alarmTrigger.period String 当spec.rules[x].alarmTrigger不为空时必填 告警规则的监控周期,支持5m、20m、1h、4h、12h、24h spec.rules[x].alarmTrigger.value String 当spec.rules[x].alarmTrigger不为空时必填 告警规则的阈值,支持1100之间的所有整数,需以字符串表示; spec.rules[x].cronTrigger / 否 可选,仅在周期规则中有效 spec.rules[x].cronTrigger.schedule String 当spec.rules[x].cronTrigger不为空时必填 周期规则的cron表达式 spec.rules[x].disable Bool 当spec.rules不为空时必填 规则开关,当前仅支持“false” spec.rules[x].metricTrigger / 否 可选,仅在指标规则中有效 spec.rules[x].metricTrigger.metricName String 当spec.rules[x].metricTrigger不为空时必填 指标规则对应的指标,当前支持“Cpu”和“Memory”两种类型 spec.rules[x].metricTrigger.metricOperation String 当spec.rules[x].metricTrigger不为空时必填 指标规则的比较符,当前仅支持“gt”、“lt” spec.rules[x].metricTrigger.metricValue String 当spec.rules[x].metricTrigger不为空时必填 指标规则的阈值,支持1100之间的所有整数,需以字符串表示; spec.rules[x].ruleName String 当spec.rules不为空时必填 规则名称,单个策略中唯一 spec.rules[x].type String 当spec.rules不为空时必填 规则类型,当前支持“Cron”、“Metric”、"Alarm"两种类型 spec.targetNodepools Array 必填 伸缩策略关联的节点池 spec.targetNodepools[x] String 必填 伸缩策略关联节点池名称