Updated on 2022-02-22 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

Mandatory

Descripiton

scaleDownUtilizationThreshold

No

Node resource usage ratio

Type: float

Value Description: The value ranges from 0 to 1.

Default: 0.4

Value Constraint: The value ranges from 0 to 1.

Suggestion: Set this parameter based on the live environment.

clusterId

Yes

ID of the cluster to which the resource belongs

Type: Cloud.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 contain a maximum of 64 characters.

Suggestion: 1. 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. 2. 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. This parameter is mandatory if the stack is billed in the yearly/monthly mode.

Type: Cloud.ECS.KeyPair.PublicKey

nodePasswd

No

Password of the scaled node root user

Type: password

nodes

Yes

AZs, specifications, OSs, and taints of the scaled nodes

Type: CCE.Addon.AutoScaler.Node array

Suggestion: In node scaling, taints are an array consisting of key, value, and effect. The effect can be set to NoSchedule, PreferNoSchedule, or NoExecute.

sshKeyName

No

Node key pair

Type: Cloud.ECS.KeyPair.Name

scaleDownUnneededTime

No

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

Type: integer

Value Description: The value ranges from 1 to 1000.

Default: 10

Value Constraint: The value ranges from 1 to 1000.

Suggestion: Set this parameter based on the live environment.

Relationships Between Elements

Table 2 Relationship description

Description

Target

Dependency

CCE.NodePool

Inclusion

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: cloud_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: Cloud.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]}