设置组件实例伸缩策略
伸缩策略设置后,可基于资源变化、固定时间、固定周期自动触发实例的增减,从而降低人为反复调整资源以应对业务变化和高峰压力的工作量,帮助您节约资源和人力成本。
- 优雅缩容
仅部署环境为Kubernetes类型的组件,支持设置组件实例优雅缩容策略。
您可以设置一个缩容时间窗,用于在组件实例停止前保存重要数据。取值范围为0-9999秒,默认设置为30秒。例如某应用有两个实例,执行缩容操作,缩容后只剩一个实例,则您仍然可以在设置的时间窗内对即将要停止的实例进行某些操作。
您可以设置最大无效实例数,用于设置每天滚动升级时允许的无效实例数阈值。
- 手动伸缩
- 弹性伸缩-HPA
弹性伸缩-HPA是Kubernetes内置组件,实现Pod水平自动伸缩的功能,即Horizontal Pod Autoscaling。在Kubernetes社区HPA功能的基础上,增加了应用级别的冷却时间窗和扩缩容阈值等功能。
设置优雅缩容策略
- 登录ServiceStage控制台。
- 选择以下任意方式进入组件“伸缩”页面:
- 在“应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称,在左侧导航栏单击“伸缩”。
- 在“组件管理”页面,单击待操作组件名称,在左侧导航栏单击“伸缩”。
- 在“伸缩”页面,设置优雅缩容策略。
设置“缩容时间窗”:单击,修改参数,单击生效。
设置手动伸缩策略
- 登录ServiceStage控制台。
- 选择以下任意方式进入组件“伸缩”页面:
- 在“应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称,在左侧导航栏单击“伸缩”。
- 在“组件管理”页面,单击待操作组件名称,在左侧导航栏单击“伸缩”。
- 在“伸缩”页面的“手动伸缩”区域,设置手动伸缩策略。
- 部署环境为Kubernetes类型的组件,请参考以下操作:
- 单击,修改“实例数”。
- 单击,实例伸缩操作即可生效。
- 部署环境为Kubernetes类型的组件,请参考以下操作:
设置弹性伸缩-HPA策略
- 登录ServiceStage控制台。
- 选择以下任意方式进入组件“伸缩”页面:
- 在“应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称,在左侧导航栏单击“伸缩”。
- 在“组件管理”页面,单击待操作组件名称,在左侧导航栏单击“伸缩”。
- 在“伸缩”页面,单击“弹性伸缩 - HPA”右侧的,开启伸缩策略配置,进入“伸缩策略配置”页签。
- 单击“立即前往配置”,在云容器引擎控制台完成metrics-server插件安装。
为CCE集群安装metrics-server插件,请参考metrics-server。
- 等待插件安装完成后,返回“伸缩策略配置”页面,刷新页面。
- 设置伸缩策略参数。
- 策略名称
- 冷却时间
策略成功触发后,在扩容/缩容冷却时间内,不会再次触发扩容/缩容。
- 实例范围
策略成功触发后,工作负载实例将在此实例范围内伸缩。
- 触发条件
支持通过“界面配置”、“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。
- “界面配置”方式
- 单击“确定”,完成策略设置。
弹性伸缩-HPA策略设置完成后,您可以根据业务需要,执行以下操作:
修改弹性伸缩-HPA策略
您可以根据实际业务需要,编辑已设置好的弹性伸缩-HPA策略,重新设置策略参数。
- 登录ServiceStage控制台。
- 选择以下任意方式进入组件“伸缩”页面:
- 在“应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称,在左侧导航栏单击“伸缩”。
- 在“组件管理”页面,单击待操作组件名称,在左侧导航栏单击“伸缩”。
- 在“伸缩”页面,选择“伸缩策略配置”页签,单击“编辑伸缩策略”,重新设置参数。
- 冷却时间
- 实例范围
- 触发条件
支持通过“界面配置”、“YAML配置”两种方式修改触发条件参数。
- “界面配置”方式
根据实际业务需要,修改“CPU利用率”、“内存利用率”指标的“期望值”和“阈值”(缩容阈值、扩容阈值)。
- “YAML配置”方式
使用YAML格式可以自定义指标参数配置,并支持更多指标,如pods、Object、External等。
使用“YAML配置”方式配置自定义指标参数,CCE集群需要已安装prometheus插件。
为CCE集群安装prometheus插件,请参考prometheus。
- “界面配置”方式
- 单击“确定”,完成修改。