配置节点即时弹性伸缩

注册集群中使用节点即时弹性功能可以帮助您即时地感知工作负载情况,根据实际情况自动地扩缩云上节点资源。工作负载因节点资源不足而无法调度时,节点即时弹性根据工作负载大小灵活地扩容节点,以满足工作负载运行需求;当云上节点利用率较低时,节点即时弹性会周期性检查出满足缩容条件的云上节点进行释放,节约云上运行成本。本文将为您介绍如何在注册集群使用节点即时弹性能力。

前提条件

  • 确认您的注册集群的版本为v1.26及以上版本。

  • 已获得节点即时弹性白名单权限。如需使用,请提交工单并描述您的业务场景进行申请。

步骤一:开启节点即时弹性功能

使用即时弹性伸缩功能前,您需要在节点池页面开启并配置集群自动弹性伸缩,使节点具备伸缩能力。配置时,请选择节点伸缩方案即时弹性

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点池

  3. 节点池页面,单击节点伸缩后方的去配置

    1.jpg

  4. (可选)首次使用节点伸缩功能时,在节点伸缩配置面板中显示前置检查失败,您需要按照页面提示,为当前集群添加自动伸缩授权策略。如已授权(显示前置检查通过),请跳过该步骤。

    1. 节点伸缩配置面板的前置检查说明中,单击AliyunCSManagedAutoScalerRole链接。

      image

    2. 在云资源访问授权页面单击同意授权

  5. 节点伸缩配置页面,选择节点伸缩方案即时弹性,配置伸缩配置项,然后单击确定

    实施弹性伸缩时,弹性组件会基于调度情况自动触发扩容。您只需配置缩容条件。

    配置项

    说明

    缩容阈值

    启用节点即时弹性的节点池中,单个节点的请求资源(Request)与单个节点资源容量的比值。

    仅当该比值低于配置的阈值时,即节点的CPU和内存资源利用率均低于缩容阈值时,节点才有可能被缩容。

    GPU 缩容阈值

    GPU实例的缩容阈值。

    仅当该比值低于配置的阈值时,即节点的CPU、内存和GPU资源利用率均低于GPU 缩容阈值时,GPU节点才有可能被缩容。

    缩容触发时延

    从检测到有缩容需求(达到缩容阈值)到实际执行缩容操作(缩容Pod数量)之间的时间间隔。单位:分钟。默认值:10分钟。

    重要

    仅当满足缩容阈值配置,且达到缩容触发时延后,弹性组件才有可能执行节点缩容。

    查看高级配置的配置项说明

    配置项

    说明

    Pod 终止超时时间

    缩容节点时等待节点上Pod终止的最长时间。单位:秒。

    Pod 最小副本数

    节点缩容前每个ReplicaSet中允许的Pod最小数量。

    开启 Daemonset Pod 排水

    开启DaemonSet Pod排水后,节点缩容时会驱逐节点上的DaemonSet Pod。

    跳过有 kube-system 命名空间下 Pod 所在节点

    开启后,当集群执行节点自动缩容操作时,可以忽略运行在kube-system命名空间下的Pod所在的节点,确保这些节点不受缩容的影响。

    说明

    此功能对DaemonSet Pod和Mirror Pod不生效。

步骤二:配置开启弹性的节点池

节点即时弹性的扩缩对象为开启自动伸缩节点池的节点。因此,开启节点即时弹性后,您还需要配置至少一个开启了弹性的节点池。

  • 新建一个开启自动弹性伸缩的节点池。具体操作,请参见创建节点池

  • 配置已有节点池,为其开启自动弹性伸缩功能。具体操作,请参见编辑节点池

    说明

    配置已有节点池时,请确保您的节点池未配置期望节点数。您可以在节点池列表进入节点池详情页面,在基本页签查看期望节点数是否为空,也可以调用DescribeClusterNodePoolDetail - 查询节点池配置接口,查询desired_size是否为nil

您需要在新建节点池或配置已有节点池时,自动伸缩配置项勾选开启自动弹性伸缩

image

(可选)步骤三:结果验证

完成如上操作后,您便可以使用节点即时弹性功能。

此时,在节点池页面,节点池列表将显示已开启自动伸缩的节点池。