更新时间:2024-04-17 GMT+08:00

CCE.Addon.AutoScaler

模型说明

CCE.Addon.AutoScaler是一款k8s集群自动扩容缩容node节点的插件。

模型属性

表1 模型定义属性说明

属性

是否必选

描述

scaleDownUtilizationThreshold

节点资源使用百分比.

参数类型:float

取值说明:可选值为: [0, 1]

默认值:0.4

取值约束:取值范围为[0,1]

使用建议:在允许范围内按需选择

clusterId

资源所属的集群ID

参数类型:Cloud.CCE.Cluster.Id

取值说明:已有容器集群的ID或新建集群的ID

取值约束:满足UUID规则,最大64位

使用建议:1.直接填ID:进入CCE管理控制台-资源管理-集群管理,在集群详情页面查看集群ID;2.通过get_reference获取。通过连线到cluster对象以get_reference自动获取

scaleDownEnabled

是否启用缩容功能

参数类型:boolean

默认值:False

publicKey

公钥key

参数类型:Cloud.ECS.KeyPair.PublicKey

nodePasswd

扩容节点root账号密码

参数类型:password

nodes

扩容节点所处AZ、规格和操作系统和节点的污点(taints)

参数类型:CCE.Addon.AutoScaler.Node数组

使用建议:扩容时taints(污点)是一个数组,包括(key,value,effect),其中effect只可选NoSchedule,PreferNoSchedule或NoExecute。

sshKeyName

节点 key-pair

参数类型:Cloud.ECS.KeyPair.Name

scaleDownUnneededTime

节点空置多长时间进行缩容,单位分钟。

参数类型:integer

取值说明:可选值为: [1, 1000]

默认值:10

取值约束:取值范围为[1,1000]

使用建议:在允许范围内按需选择

关联关系

表2 关联关系说明

关系说明

关联节点

依赖关系

CCE.NodePool

被包含关系

CCE.Cluster

输出

属性

参数类型

描述

clusterId

string

AutoScaler关联的集群Id

refName

string

AutoScaler的名称

refID

string

AutoScaler的UID

blueprint样例

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]}