You need to enable JavaScript to run this app.
导航
创建节点弹性伸缩
最近更新时间:2024.06.06 17:37:28首次发布时间:2022.03.04 23:10:38

CA(Cluster Autoscaler,集群弹性伸缩)在 Kubernetes 集群中用于节点的自动伸缩,它监控集群中 Pod 的状态,当集群中存在处于 Pending 状态的 Pod 时,就采用用户指定的伸缩策略,自动扩容或缩容节点。

前提条件

  • 已安装 cluster-autoscaler 插件。详细操作,请参见 cluster-autoscaler 组件
  • 节点扩缩容均基于节点池进行。因此请确保已创建节点池,并且启用节点池 弹性伸缩
    alt
    • 新创建节点池时,允许直接启用弹性伸缩。详细操作,请参见 创建节点池
    • 已创建的节点池,通过编辑节点池,启用弹性伸缩。详细操作,请参见 编辑节点池

使用说明

  • 安装 cluster-autoscaler 组件时配置的弹性伸缩规则,与本文描述的操作属于同一种配置。即节点的弹性伸缩配置,有两种配置入口,两边的配置会相互覆盖。
  • 弹性伸缩规则,仅对 按量计费 的节点资源生效。

操作步骤

  1. 登录 容器服务控制台

  2. 单击左侧导航栏中的 集群

  3. 在集群列表页面,单击目标集群。

  4. 在集群管理页面的左侧导航栏中选择 节点池,单击 弹性伸缩配置
    alt

  5. 弹性伸缩配置 页面中,单击 编辑规则,配置弹性伸缩规则参数。

    说明

    此处显示的 弹性伸缩规则 页面配置,与安装 cluster-autoscaler 组件时的配置一致。若编辑规则,表示更改安装 cluster-autoscaler 组件时配置的规则。

    alt

    配置项说明
    集群名称当前集群的名称,不可修改。

    扩容算法

    节点池自动扩容时所采用的扩容算法类型,有如下几种类型:

    • random:表示随机选择一个节点池进行扩容。
    • most-pods:表示选择能够调度最多 Pod 的节点池进行扩容。
    • least-waste:表示选择空闲 CPU 资源最少的节点池进行扩容。
    • priority:表示根据节点池启用 弹性伸缩 后设置的优先级,选择优先级最高的节点池进行扩容。
    弹性灵敏度用于判断集群弹性伸缩的时间间隔,支持取值:10s15s30s60s120s180s300s

    自动缩容

    是否开启节点的自动缩容:

    • 开启:当集群中有较多空闲节点资源时会触发缩容。仅对按量计费节点资源生效。
    • 不开启:节点扩容后,即使使用率下降,也不会自动缩容。

    开启 自动缩容 后,需要配置以下参数。

    配置项说明

    非 GPU 节点的缩容阈值

    当非 GPU 类型节点的 CPU、内存资源使用率(单资源请求量÷单资源总量*100%)低于该阈值时,可能会触发自动缩容。默认 50%。

    说明

    非 GPU 类型节点的 CPU 或内存资源中任意一个达到缩容阈值,即可触发该规则。

    GPU 节点的缩容阈值

    GPU 类型节点的缩容策略根据其是否使用 mGPU 能力,有不同的缩容策略,默认阈值为 50%:

    • 未使用 mGPU:当节点的 GPU 资源使用率(单资源请求量÷单资源总量*100%)低于该阈值时,可能会触发自动缩容。
    • 已使用 mGPU:当 mGPU 的 GPU 算力、GPU 显存、内存、CPU 中任意一个资源的使用率(单资源请求量÷单资源总量*100%)低于该阈值时,可能会触发自动缩容。

    注意

    • mGPU 目前处于 公测 阶段,功能详细说明参见 mGPU 概述

    • 仅以下版本的 cluster-autoscaler 组件支持配置该缩容阈值:

      • v1.26.3-vke.6 及以上版本。
      • v1.24.2-vke.6 及以上版本。
      • v1.20.2-vke.20 及以上版本。

      若集群中已安装的 cluster-autoscaler 组件版本较低时,请升级组件。详细操作,请参见 升级组件;cluster-autoscaler 组件的发版记录,请参见 cluster-autoscaler

    缩容触发时延当节点资源使用率低于阈值,并持续该时间段后,集群将触发自动缩容。默认 10 分钟。
    扩容后缩容冷却时间节点进行扩容后,能再次执行缩容所需等待的时间间隔。默认 10 分钟。
    缩容失败冷却时间节点缩容失败后,能再次执行缩容所需等待的时间间隔。默认 3 分钟。
    最大并发缩容数节点缩容时,允许同时进行缩容的并发数目。默认 5。
    Pod 终止超时时间节点排水时等待 Pod 终止的最大等待时间。整数形式,取值范围为 1~10000,单位为秒。默认为 600 秒。
    Pod 最小副本数节点排水时允许存在的最小 Pod 数量。整数形式,取值范围为 1~10000。默认为 0。

    开启 Daemonset 排水

    节点缩容前是否驱逐节点上 DaemonSet 类型的 Pod。

    • 开启:表示节点缩容前,会首先驱逐节点上 DaemonSet 类型的 Pod。
    • 不开启:表示节点缩容前,不会驱逐节点上 DaemonSet 类型的 Pod。

    不缩容节点

    勾选不进行缩容的节点。可选项如下:

    • 包含本地储存 Pod 的节点。
    • 包含 kube-system 命名空间下非 DaemonSet 管理的 Pod 的节点。
  6. 单击 确定,完成配置。