容器定时伸缩(CronHPA) 本节介绍了:容器定时伸缩(CronHPA)的用户指南。 概述 在一些复杂的业务场景下,可能有固定时间段高峰业务,又有日常突发高峰业务。此种情况下,用户既期望能定时弹性伸缩应对固定时间段高峰业务,又期望能根据指标弹性伸缩应对日常突发高峰业务。CCE提供CronHPA的自定义资源,实现在固定时间段对集群进行扩缩容,并且可以和HPA策略共同作用,定时调整HPA伸缩范围,实现复杂场景下的工作负载伸缩。 前提条件 您已创建集群,请参照 快速入门>创建一个集群内容进行创建。 已安装 cubecronhpa 最新版本插件。 使用CronHPA直接调整Deployment实例数量 CronHPA可以单独调整关联Deployment,定时调整Deployment的实例数,使用方法如下。 plaintext apiVersion: autoscaling.ctyun.com/v1beta1 kind: CronHorizontalPodAutoscaler metadata: labels: controllertools.k8s.io: "1.0" name: cronhpasample namespace: default spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: nginxdeploymentbasic jobs: name: "scalea" schedule: "30 6 " targetSize: 1 name: "scaleb" schedule: "01 30 " targetSize: 3 CronHPA关键字段说明 字段 说明 apiVersion API版本,固定值 autoscaling.ctyun.com/v1beta1 kind API类型,固定值 CronHorizontalPodAutoscaler metadata.name CronHPA策略名称。 metadata.labels 策略标签 metadata.namespace CronHPA策略所在的命名空间。 spec.scaleTargetRef 指定CronHPA的扩缩容对象,可配置以下字段: apiVersion:CronHPA扩缩容对象的API版本。 kind:CronHPA扩缩容对象的API类型。 name:CronHPA扩缩容对象的名称。CronHPA支持HPA策略或Deployment。 spec.jobs CronHPA策略规则,可添加多个规则。每个规则可配置以下字段: name:CronHPA规则名称,该名称需唯一。 schedule:指定任务运行时间与周期,参数格式与gocron类似,请参见下表。 targetSize:扩缩容的Pod数目。 disable:参数值为“true”或“false”。其中“false”表示该规则生效,“true”则表示该规则不生效。 该插件使用的 schedule 时间格式为 gocron 库,一共是6位,都是强制填写。具体格式如下: plaintext Field name Mandatory? Allowed values Allowed special characters Seconds Yes 059 / , Minutes Yes 059 / , Hours Yes 023 / , Day of month Yes 131 / , ? Month Yes 112 or JANDEC / , Day of week Yes 06 or SUNSAT / , ?