APM.AutoScaler
模型说明
APM.AutoScaler用于控制应用的自动弹性伸缩。
模型属性
属性 |
是否必选 |
描述 |
---|---|---|
name |
是 |
自动弹性伸缩策略的名称 参数类型:string 取值说明:用户自定义 取值约束:长度限制:1-64,租户唯一,正则规范要求:{"regex":"^[a-zA-Z][0-9a-zA-Z-_]*$","min_length":1,"max_length":64} |
maxInstances |
是 |
自动伸缩策略所支持的最大实例数,达到这个数目后将不再扩容 参数类型:integer 取值说明:1-1000的整型数字,如:15 默认值:10 取值约束:1-1000的整型数字,此数字必须大于minInstance的值 使用建议:根据规格按需选择 |
appName |
是 |
自动弹性伸缩策略作用的应用名称 参数类型:string 取值说明:模板中CCE.deployment对象的名称 默认值:"" 使用建议:建议通过连线到CCE.deployment对象自动以get_reference方法获取或者手动输入 |
rules |
是 |
自动弹性伸缩的规则,表明扩容或缩容的策略(当前仅支持根据性能指标扩缩容) 参数类型:APM.AutoscalerRule数组 取值说明:APM.AutoscalerRule类型数组 取值约束:满足APM.AutoscalerRule类型数组定义 使用建议:在“组成部分”中选择rules字段根据提示的字段进行扩充填写 |
clusterId |
否 |
自动弹性伸缩策略作用的应用所在的集群ID 参数类型:HuaweiCloud.CCE.Cluster.Id 取值说明:模板中CCE.cluster对象的ID 取值约束:{u'max_length': 64} 使用建议:建议通过连线到CCE.deployment对象,根据该对象连接的CCE.cluster,以 get_attribute方法获取或手动输入 |
cooldownTime |
是 |
弹性伸缩的冷却时间,即连续两次弹性伸缩的间隔时间 参数类型:integer 取值说明:0-86400的整型数字,单位秒,例如180 默认值:60 取值约束:0-86400的整型数字,即从完全没有冷却时间到最大冷却时间24小时 使用建议:根据规格按需选择 |
minInstances |
是 |
自动伸缩策略所支持的最小实例数,达到这个数目后将不再缩容 参数类型:integer 取值说明:1-1000的整型数字,如:15 默认值:1 取值约束:1-1000的整型数字,此数字必须小于maxInstance的值 使用建议:根据规格按需选择 |
type |
是 |
自动弹性伸缩策略的类型 参数类型:string 取值说明:当前支持应用类型进行自动弹性伸缩,即策略可以加载到无状态应用及CCE的deployment对象 默认值:app 取值约束:当前仅可填写“app” 使用建议:使用默认值 |
关联关系
关系说明 |
关联节点 |
---|---|
关联关系 |
|
被包含关系 |
|
关联关系 |
输出
属性 |
参数类型 |
描述 |
---|---|---|
refID |
string |
弹性伸缩策略的实例ID |
refName |
string |
弹性伸缩策略的实例名称 |
blueprint样例
tosca_definitions_version: huaweicloud_tosca_version_1_0 inputs: images: type: string instances: default: 1 type: integer node_templates: containercomponent-2: # 定义部署应用所需的容器信息 type: HuaweiCloud.ServiceStage.ContainerComponent properties: package: image: get_input: images imagePullPolicy: Always lifecycle: postStart: - '/bin/bash' - '-c' - touch aos preStop: - '/bin/bash' - '-c' - sleep 60 statelessapplication-1: # 定义无状态应用 type: HuaweiCloud.ServiceStage.StatelessApplication properties: affinitySelector: affinities: antiself: false instances: get_input: instances type: container requirements: - package: node: containercomponent-2 relationship: HuaweiCloud.Relationships.PackageConsistsOf my-scaling-policy: type: HuaweiCloud.APM.AutoScaler properties: name: my-scaling-policy maxInstances: 10 minInstances: 3 cooldownTime: 180 rules: - name: scaling-out-rule conditions: - evaluationPeriods: 1 metricUnit: Percent period: 60 metricOperation: '>' metricThreshold: 70 metricNamespace: PAAS.CONTAINER statistic: average metricName: cpuUsage actions: - type: scale_out_k8s parameters: scaleUnit: 1 - name: scaling-in-rule conditions: - metricNamespace: PAAS.CONTAINER metricName: cpuUsage metricUnit: Percent metricOperation: < metricThreshold: 50 statistic: average period: 60 evaluationPeriods: 3 actions: - type: scale_in_k8s requirements: - application: node: statelessapplication-1 # 设置对StatelessApplication元素的依赖