更新时间:2024-05-28 GMT+08:00

设置组件实例伸缩策略

伸缩策略设置后,可基于资源变化、固定时间、固定周期自动触发实例的增减,从而降低人为反复调整资源以应对业务变化和高峰压力的工作量,帮助您节约资源和人力成本。

  • 优雅缩容

    仅部署环境为Kubernetes类型的组件,支持设置组件实例优雅缩容策略。

    您可以设置一个缩容时间窗,用于在组件实例停止前保存重要数据。取值范围为0-9999秒,默认设置为30秒。例如某应用有两个实例,执行缩容操作,缩容后只剩一个实例,则您仍然可以在设置的时间窗内对即将要停止的实例进行某些操作。

  • 手动伸缩

    配置完成后立即触发实例数的增减。

  • 弹性伸缩-HPA

    仅1.13及以上版本的CCE集群支持弹性伸缩-HPA。

    弹性伸缩-HPA是Kubernetes内置组件,实现Pod水平自动伸缩的功能,即Horizontal Pod Autoscaling。在Kubernetes社区HPA功能的基础上,增加了应用级别的冷却时间窗和扩缩容阈值等功能。

设置优雅缩容策略

  1. 登录ServiceStage控制台。
  2. 选择以下任意方式进入组件“伸缩”页面:

    • “应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称或者在组件名称上单击右键选择打开组件“概览”页面的方式,在左侧导航栏单击“伸缩”
    • “组件管理”页面,单击待操作组件名称或者在组件名称上单击右键选择打开组件“概览”页面的方式,在左侧导航栏单击“伸缩”

  3. “伸缩”页面,设置优雅缩容策略。

    设置“缩容时间窗”:单击,修改参数,单击生效。

    图1 设置优雅缩容策略

设置手动伸缩策略

  1. 登录ServiceStage控制台。
  2. 选择以下任意方式进入组件“伸缩”页面:

    • “应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称或者在组件名称上单击右键选择打开组件“概览”页面的方式,在左侧导航栏单击“伸缩”
    • “组件管理”页面,单击待操作组件名称或者在组件名称上单击右键选择打开组件“概览”页面的方式,在左侧导航栏单击“伸缩”

  3. “伸缩”页面的“手动伸缩”区域,设置手动伸缩策略。

    • 部署环境为Kubernetes类型的组件,请参考以下操作:
      1. 单击,修改“实例数”。
      2. 单击,实例伸缩操作即可生效。
      图2 设置手动伸缩策略(部署环境为Kubernetes类型的组件)
    • 部署环境为虚拟机类型的组件,请参考以下操作:
      1. “当前实例数”,单击
      2. 选择“伸缩类型”,根据实际需要增加或者减少组件运行实例。

        “伸缩类型”选择“扩容”时,单击“添加弹性云服务器”,可参考购买弹性云服务器创建新的ECS实例,用于运行新增组件实例。

        “伸缩类型”选择“缩容”时,可以将当前运行组件实例数缩减到1个为止。

      3. 单击“确定”
      图3 设置手动伸缩策略(部署环境为虚拟机类型的组件)

设置弹性伸缩-HPA策略

  1. 登录ServiceStage控制台。
  2. 选择以下任意方式进入组件“伸缩”页面:

    • “应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称或者在组件名称上单击右键选择打开组件“概览”页面的方式,在左侧导航栏单击“伸缩”
    • “组件管理”页面,单击待操作组件名称或者在组件名称上单击右键选择打开组件“概览”页面的方式,在左侧导航栏单击“伸缩”

  3. “伸缩”页面,单击“弹性伸缩 - HPA”右侧的,开启伸缩策略配置,进入“伸缩策略配置”页签。

    • CCE集群未安装metrics-server插件,请执行4
    • CCE集群已安装metrics-server插件,请执行6

  4. 单击“立即前往配置”,在云容器引擎控制台完成metrics-server插件安装。

    为CCE集群安装metrics-server插件,请参考metrics-server

  5. 等待插件安装完成后,返回“伸缩策略配置”页面,刷新页面。
  6. 设置伸缩策略参数。

    1. 策略名称

      输入策略名称。伸缩策略设置完成后,策略名称不支持修改。

    2. 冷却时间

      根据实际业务需要,输入扩容/缩容冷却时间。

      策略成功触发后,在扩容/缩容冷却时间内,不会再次触发扩容/缩容。

    3. 实例范围

      根据实际业务需要,输入最小实例数和最大实例数。

      策略成功触发后,工作负载实例将在此实例范围内伸缩。

    4. 触发条件

      支持通过“界面配置”“YAML配置”两种方式设置触发条件参数。

      • “界面配置”方式

        根据实际业务需要,设置“CPU利用率”“内存利用率”指标的“期望值”“阈值”(缩容阈值、扩容阈值)。

        策略成功触发后,通过向上取整(当前CPU或内存利用率指标值 / 期望值 × 当前运行实例数)来计算需要伸缩的实例数。

        • 当前CPU或内存利用率的指标值小于缩容阈值时,触发缩容。
        • 当前CPU或内存利用率的指标值大于扩容阈值时,触发扩容。
      • “YAML配置”方式
         metrics:
           - type: Resource
             resource:
               name: cpu
               target:
                 type: Utilization
                 averageUtilization: 50
           - type: Resource
             resource:
               name: memory
               target:
                 type: Utilization
                 averageUtilization: 50
           - type: Pods
             pods:
               metric:
                 name: packets-per-second
               target:
                 type: AverageValue
                 averageValue: 1k
           - type: Object
             object:
               metric:
                 name: requests-per-second
               describedObject:
                 apiVersion: networking.k8s.io/v1beta1
                 kind: Ingress
                 name: main-route
               target:
                 type: Value
                 value: 10k

        如以上示例所示,使用YAML格式除了使用CPU(cpu)、内存(memory)的利用率(Utilization)作为指标外,还可以自定义指标参数配置,并支持更多指标,如Pods、Object、External等。

        使用“YAML配置”方式配置自定义指标参数,CCE集群需要已安装prometheus插件。

        为CCE集群安装prometheus插件,请参考prometheus

  7. 单击“确定”,完成策略设置。

    弹性伸缩-HPA策略设置完成后,您可以根据业务需要,执行以下操作:

修改弹性伸缩-HPA策略

您可以根据实际业务需要,编辑已设置好的弹性伸缩-HPA策略,重新设置策略参数。

  1. 登录ServiceStage控制台。
  2. 选择以下任意方式进入组件“伸缩”页面:

    • “应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称或者在组件名称上单击右键选择打开组件“概览”页面的方式,在左侧导航栏单击“伸缩”
    • “组件管理”页面,单击待操作组件名称或者在组件名称上单击右键选择打开组件“概览”页面的方式,在左侧导航栏单击“伸缩”

  3. “伸缩”页面,选择“伸缩策略配置”页签,单击“编辑伸缩策略”,重新设置参数。

    1. 冷却时间

      根据实际业务需要,修改扩容/缩容冷却时间。

    2. 实例范围

      根据实际业务需要,修改最小实例数和最大实例数。

    3. 触发条件

      支持通过“界面配置”“YAML配置”两种方式修改触发条件参数。

      • “界面配置”方式

        根据实际业务需要,修改“CPU利用率”“内存利用率”指标的“期望值”“阈值”(缩容阈值、扩容阈值)。

      • “YAML配置”方式

        使用YAML格式可以自定义指标参数配置,并支持更多指标,如pods、Object、External等。

        使用“YAML配置”方式配置自定义指标参数,CCE集群需要已安装prometheus插件。

        为CCE集群安装prometheus插件,请参考prometheus

  4. 单击“确定”,完成修改。

查看弹性伸缩-HPA策略运行情况

ServiceStage支持查看已设置好的弹性伸缩-HPA策略的运行状态和运行事件。

  1. 登录ServiceStage控制台。
  2. 选择以下任意方式进入组件“伸缩”页面:

    • “应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称或者在组件名称上单击右键选择打开组件“概览”页面的方式,在左侧导航栏单击“伸缩”
    • “组件管理”页面,单击待操作组件名称或者在组件名称上单击右键选择打开组件“概览”页面的方式,在左侧导航栏单击“伸缩”

  3. “伸缩”页面:

    • 选择“状态”页签,查看策略运行状态。
    • 选择“事件”页签,查看策略运行中发生的事件。

删除弹性伸缩-HPA策略

您可以根据实际业务需要,删除不再使用的弹性伸缩-HPA策略。

删除操作无法恢复,请谨慎操作。

  1. 登录ServiceStage控制台。
  2. 选择以下任意方式进入组件“伸缩”页面:

    • “应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称或者在组件名称上单击右键选择打开组件“概览”页面的方式,在左侧导航栏单击“伸缩”
    • “组件管理”页面,单击待操作组件名称或者在组件名称上单击右键选择打开组件“概览”页面的方式,在左侧导航栏单击“伸缩”

  3. “伸缩”页面,单击“弹性伸缩 - HPA”右侧的
  1. 单击“确定”,完成策略删除。