CronFederatedHPA工作原理
FederatedHPA是基于指标数据进行工作负载扩缩的,因此存在一定的时延。CronFederatedHPA策略基于固定的时间周期,而非指标数据对工作负载进行扩缩。
您可以对一些有周期性变化的工作负载应用CronFederatedHPA策略,在预期的业务高峰时提前扩容资源,预期的业务低谷时定时回收资源。
CronFederatedHPA工作原理
CronFederatedHPA的工作原理如图1。创建CronFederatedHPA策略时,可以设定一个具体的时间,基于设定的时间调整HPA策略的最大和最小Pod数,也可以直接定时调整工作负载中的Pod数量。
单独使用CronFederatedHPA
当不使用FederatedHPA策略,仅使用CronFederatedHPA策略时,CronFederatedHPA策略直接作用于工作负载,定时扩缩Pod数量。您可以通过设置CronFederatedHPA策略的生效时间与目标Pod数,实现在固定时间段将工作负载自动扩缩至期望数量。

具体流程为:
- 创建CronFederatedHPA策略,设置CronFederatedHPA的生效时间与目标Pod数。
- 生效时间:CronFederatedHPA策略会在该生效时间自动触发工作负载扩缩。
- 目标Pod数:在到达生效时间时,所期望的Pod数。
- 到达生效时间时,比较工作负载中的现有Pod数与1中设置的目标Pod数:目标Pod数大于现有Pod数时扩容工作负载,目标Pod数小于现有Pod数时缩容工作负载。
现有Pod数:CronFederatedHPA策略生效之前,工作负载中的Pod数量。
同时使用CronFederatedHPA与FederatedHPA
当同时使用FederatedHPA策略与CronFederatedHPA策略时,CronFederatedHPA策略不再直接作用于工作负载,而是在FederatedHPA策略的基础上生效,通过定时调整FederatedHPA策略的最大和最小实例数,实现定时扩缩工作负载的作用。

具体流程为:
- 创建CronFederatedHPA策略,设置CronFederatedHPA的生效时间与目标Pod数。
- 生效时间:CronFederatedHPA策略会在该生效时间自动触发工作负载扩缩。
- 目标Pod数:CronFederatedHPA设定的Pod数,在CronFederatedHPA生效时用于调整FederatedHPA的最大/最小Pod数,从而间接调整工作负载中的Pod数量。
- 到达生效时间时,比较工作负载的现有Pod数、FederatedHPA策略的最大Pod数、FederatedHPA策略的最小Pod数与1中设置的目标Pod数,根据上述四个指标的大小关系,调整FederatedHPA策略的最大和最小Pod数,FederatedHPA策略根据被调整后的最大和最小Pod数对工作负载进行扩缩。
- 现有Pod数:CronFederatedHPA策略生效之前,工作负载中的Pod数量。
- FederatedHPA策略的最大Pod数:工作负载的Pod数上限。
- FederatedHPA策略的最小Pod数:工作负载的Pod数下限。
图4与表1列出了在同时使用FederatedHPA策略与CronFederatedHPA策略的情况下可能出现的扩缩容场景。您可以通过表内的示例了解在现有Pod数、最大Pod 数、最小Pod数、目标Pod数的不同大小关系下,CronFederatedHPA策略会对使用FederatedHPA策略、工作负载产生怎样的影响。
场景 | 场景说明 | 目标Pod数 (CronFederatedHPA内设置) | 现有Pod数 (工作负载) | 最小Pod数/最大Pod数 (FederatedHPA内设置) | 最终结果 |
|---|---|---|---|---|---|
场景一 | 目标Pod数 < 最小Pod数 ≤ 现有Pod数 ≤ 最大Pod数 | 3 | 5 | 4/10 |
|
场景二 | 目标Pod数 =最小Pod数 ≤ 现有Pod数 ≤ 最大Pod数 | 4 | 5 | 4/10 |
|
场景三 | 最小Pod数 < 目标Pod数 < 现有Pod数 ≤ 最大Pod数 | 5 | 6 | 4/10 |
|
场景四 | 最小Pod数 < 目标Pod数 =现有Pod数 ≤ 最大Pod数 | 5 | 5 | 4/10 |
|
场景五 | 最小Pod数 ≤ 现有Pod数 < 目标Pod数 < 最大Pod数 | 6 | 5 | 4/10 |
|
场景六 | 最小Pod数 ≤ 现有Pod数 < 目标Pod数 =最大Pod数 | 10 | 4 | 4/10 |
|
场景七 | 最小Pod数 ≤ 现有Pod数 ≤ 最大Pod数< 目标Pod数 | 11 | 4 | 4/10 |
|



