Updated on 2023-12-13 GMT+08:00

CCE.Addon.AutoScaler

Element Description

CCE.Addon.AutoScaler is a plug-in for node auto-scaling in a K8S cluster.

Element Properties

Table 1 Property Description

Property

Required

Descripiton

scaleDownUtilizationThreshold

No

Node resource usage ratio

Type: float

Value Description: Supports the range of 0 to 1.

Default: 0.4

Value Constraint: The value ranges from 0 to 1.

Suggestion: Select a port in the range as required.

clusterId

Yes

ID of the cluster to which the resource belongs

Type: HuaweiCloud.CCE.Cluster.Id

Value Description: Indicates the ID of an existing or new container cluster.

Value Constraint: The value must satisfy the UUID rule and support a maximum of 64 characters.

Suggestion: Enter the cluster ID. Specifically, log in to the CCE console, and choose Resource Management > Clusters. Click the target cluster, and you can then obtain its cluster ID. Connect to the cluster object and use the get_reference function to obtain the cluster ID.

scaleDownEnabled

Yes

scale down function switch

Type: boolean

Default: False

publicKey

No

public key

Type: HuaweiCloud.ECS.KeyPair.PublicKey

nodePasswd

No

node root user password

Type: password

nodes

Yes

autoscaler nodes with AZ, flavor, and OS ,taints

Type: CCE.Addon.AutoScaler.Node Array

Suggestion: During scaling, taints are arrays, including key, value, and effect. The effect can be set to NoSchedule, PreferNoSchedule, or NoExecute.

sshKeyName

No

name of sshKey

Type: HuaweiCloud.ECS.KeyPair.Name

scaleDownUnneededTime

No

When a node remains idle for this specified time duration (in minutes), scaling in will be performed.

Type: integer

Value Description: Supports the range of 1 to 1000.

Default: 10

Value Constraint: The value ranges from 1 to 1000.

Suggestion: Select a port in the range as required.

Relationships Between Elements

Table 2 Relationship description

Description

Target

DependsOn

CCE.NodePool

ContainedIn

CCE.Cluster

Return Value

Property

Type

Description

clusterId

string

ID of the cluster which is associated with the AutoScaler

refName

string

Name of the AutoScaler

refID

string

UID of the AutoScaler

Blueprint Example

tosca_definitions_version: huaweicloud_tosca_version_1_0
inputs:
  clusterId:
    default: "e0f98d46-9716-11e8-a25f-0255ac106314"
    description: cluster ID.
  nodePasswd:
    default: "******"
    description: node root user password
  scaleDownEnabled:
    default: true
    description: scale down enabled.
  scaleDownUnneededTime:
    default: 10
    description: sale down unneeded time
  scaleDownUtilizationThreshold:
    default: 0.5
    description: scale down utilization threshold
  avaliableZone:
    default: az1.dc1
    description: avaliableZone.
  nodeFlavor:
    default: s1.xlarge
    description: node flavor.
  nodeOS:
    default: EulerOS 2.2
    description: node OS.
node_templates:
  autoscaler:
    type: HuaweiCloud.CCE.Addon.AutoScaler
    properties:
      clusterId:
        get_input: clusterId
      nodePasswd:
        get_input: nodePasswd
      scaleDownEnabled:
        get_input: scaleDownEnabled
      scaleDownUnneededTime:
        get_input: scaleDownUnneededTime
      scaleDownUtilizationThreshold:
        get_input: scaleDownUtilizationThreshold
      nodes:
        - az:
            get_input: avaliableZone
          flavor:
            get_input: nodeFlavor
          os:
            get_input: nodeOS
outputs:
  autoscaler_id:
    value: {get_attribute: [autoscaler, refID]}