HPA策略即Horizontal Pod Autoscaling,是Kubernetes中实现POD水平自动伸缩的功能。该策略在kubernetes社区HPA功能的基础上,增加了应用级别的冷却时间窗和扩缩容阈值等功能。
若使用系统指标,则需要安装metrics-server和prometheus插件:
- metrics-server:负责采集kubernetes集群中kubelet的公开指标项,包含CPU利用率、内存利用率。HPA弹性策略如基于CPU/MEM利用率,必须安装此插件。
- prometheus:负责采集kubernetes集群中kubelet的公开指标项(CPU利用率、内存利用率)。
- HPA策略:仅支持1.13及以上版本的集群创建。
- 每个工作负载只能创建一个策略,即如果您创建了一个HPA策略,则不能再对其创建工作负载弹性伸缩(CustomedHPA)或其他HPA策略,您可以删除该HPA策略后再创建。
步骤 1 在CCE控制台中,单击左侧导航栏的“弹性伸缩”,在“工作负载伸缩”页签下,单击“创建HPA策略”。
步骤 2 进入创建工作负载HPA策略页面,在“插件检测”步骤中:
- 若插件名称后方显示,请单击插件后方的“现在安装”,根据业务需求配置插件参数后单击“立即安装”,等待插件安装完成。
- 若插件名称后方显示,则说明插件已安装成功。
步骤 3 确认插件已安装成功后,单击“下一步:策略配置”。
说明:如果插件已提前安装成功,单击“创建HPA策略”后,在“插件检测”步骤中经过短暂检测后将直接进入“策略配置”步骤。
步骤 4 在“策略配置”步骤中,参照下表设置策略参数。
表-HPA策略参数配置
参数 | 参数说明 |
策略名称 | 新建策略的名称,请自定义。 |
集群名称 | 请选择工作负载所在的集群。 |
命名空间 | 请选择工作负载所在的命名空间。 |
关联工作负载 | 请选择要设置HPA策略的工作负载。 |
实例范围 | 请输入最小实例数和最大实例数。 策略触发时,工作负载实例将在此范围内伸缩。 |
冷却时间 | 请输入缩容和扩容的冷却时间,单位为分钟,缩容扩容冷却时间不能小于1分钟。 该设置仅在1.15及以上版本的集群中显示,1.13版本的集群不支持该设置。 策略成功触发后,在此缩容/扩容冷却时间内,不会再次触发缩容/扩容,目的是等待伸缩动作完成后在系统稳定且集群正常的情况下进行下一次策略匹配。 |
策略规则 | 策略规则可基于系统指标。 系统指标
说明 利用率 = 工作负载容器组(Pod)的实际使用量 / 申请量。
期望值表示所选指标的期望值,通过向上取整(当前指标值 / 期望值 × 当前实例数)来计算需要伸缩的实例数。
当指标值大于缩容阈值且小于扩容阈值时,不会触发扩容或缩容。阈值仅在1.15及以上版本的集群中支持。 您可以单击“添加策略规则”,设置多条伸缩策略。 说明 HPA在计算扩容、缩容实例数时,会选择最近5分钟内的最大值。 |
步骤 5 设置完成后,单击“创建”,在“完成”步骤中若显示“创建工作负载策略***提交成功”,可单击“返回工作负载伸缩策略”。
步骤 6 在“工作负载伸缩”页签下,可以看到刚刚创建的HPA策略。