APM.AutoScaler
Element Description
The APM.AutoScaler element is used to control elastic scaling of applications.
Element Properties
| Property | Required | Descripiton |
|---|---|---|
| name | Yes | Auto scaling policy type Type: string Value Description: Supports customization. Value Constraint: The value contains 1 to 64 characters. This value is unique under a tenant, and must meet the following requirement: {"regex": "^[a-zA-Z][0-9a-zA-Z-_]*$", "min_length" :1, "max_length" :64}. |
| maxInstances | Yes | Maximum number of instances supported by an auto scaling policy. If the number of instances reaches this value, scale-out will not be performed. Type: integer Value Description: Supports an integer ranging from 1 to 1000. For example, 15. Default: 10 Value Constraint: The value must be an integer ranging from 1 to 1000. This integer must be greater than the value of minInstance. Suggestion: Set the value based on specifications and requirements. |
| appName | Yes | Application to which the auto scaling policy applies Type: string Value Description: Indicates the name of the CCE.deployment object in the template. Default: '' Suggestion: You are advised to connect to the CCE.deployment object and use the get_reference function to automatically obtain the value, or manually enter the value. |
| rules | Yes | Auto scaling rule, which indicates the scale-out or scale-in policy (currently, scaling can only be performed based on performance metrics) Type: APM.AutoscalerRule Array Value Description: Indicates the APM.AutoscalerRule array. Value Constraint: The definition of the APM.AutoscalerRule type is met. Suggestion: Select the rules field in the component part, and then fill in the field based on prompts. |
| clusterId | No | Cluster ID to which the auto scaling policy applies Type: HuaweiCloud.CCE.Cluster.Id Value Description: Indicates the ID of the CCE.cluster object in the template. Suggestion: You are advised to connect to the CCE.deployment object which is contained in the CCE.cluster object and use the get_attribute function to automatically obtain the value, or manually enter the value. |
| cooldownTime | Yes | Cooldown time of auto scaling, that is, the interval between two consecutive auto scalings Type: integer Value Description: Supports an integer ranging from 0 to 86400 (unit: s). For example, 180. Default: 60 Value Constraint: The value must be an integer ranging from 0 to 86400. The maximum cooldown time is 24 hours. Suggestion: Set the value based on specifications and requirements. |
| minInstances | Yes | Minimum number of instances supported by an auto scaling policy. Type: integer Value Description: Supports an integer ranging from 1 to 1000. For example, 15. Default: 1 Value Constraint: The value must be an integer ranging from 1 to 1000. This integer must be greater than the value of maxInstance. Suggestion: Set the value based on specifications and requirements. |
| type | Yes | Auto scaling policy type Type: string Value Description: Supports auto scaling for the current type of application. That is, policies can be loaded to stateless applications and CCE deployment objects. Default: app Value Constraint: Currently, only app is supported. Suggestion: Use the default value. |
Relationships Between Elements
| Description | Target |
|---|---|
| Connected | |
| ContainedIn | |
| Connected |
Return Value
| Property | Type | Description |
|---|---|---|
| refID | string | Instance ID of an auto scaling policy |
| refName | string | Instance name of an auto scaling policy |
Blueprint Example
tosca_definitions_version: huaweicloud_tosca_version_1_0
inputs:
images:
type: string
instances:
default: 1
type: integer
node_templates:
containercomponent-2: # Define containers of the application.
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: # Define a Deployment.
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 # Define the dependencies on StatelessApplication. Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.