提供通用决策框架、潮汐调度算法、RBG扩缩调度的能力
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 个月前 | ||
| 5 个月前 | ||
| 1 个月前 | ||
| 26 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 27 天前 | ||
| 27 天前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 5 个月前 | ||
| 27 天前 | ||
| 17 天前 | ||
| 17 天前 | ||
| 1 个月前 | ||
| 1 个月前 |
PD-Orchestrator
面向 Kubernetes 的弹性调度组件集:Elastic Scaler 负责扩缩容决策,ResourceScalingGroup 负责资源组编排扩缩,Tidal 提供时间驱动潮汐策略
项目概览
本项目围绕三个核心组件构建:Elastic Scaler 提供通用扩缩容决策能力,ResourceScalingGroup 提供工作负载分组扩缩与资源编排能力,Tidal 提供基于时间规则的潮汐扩缩能力。
Elastic Scaler - 扩缩容决策框架
Elastic Scaler 是通用扩缩容决策框架,采用插件化机制支持自定义算法与资源管理逻辑扩展,并同时支持指标驱动与事件驱动扩缩语义。
- 支持
MetricsTrigger(指标驱动)与StateTrigger(事件驱动)扩缩。 - 支持自定义伸缩算法插件开发。
- 支持自定义资源插件开发(可通过 ResourceScalingGroup 扩展)。
- 兼容 Kubernetes 原生 HPA 能力。
- CRD API:
elasticscaler.io/v1alpha1。 MetricsTrigger支持Resource、External、ExternalServer、Custom四类指标(HPA算法路径不支持ExternalServer)。- 内置 APA 算法为默认伸缩算法,
scalingAlgorithm留空时等同APA。 StateTrigger通过elasticscaler.io/name、elasticscaler.io/namespace标签关联外部资源(如 Tidal),同步其status.desiredReplicas。- 可通过 Annotation 配置指标窗口、聚合与缺失值等稳定化策略(如
elasticscaler.io/metrics.windowSeconds)。
ResourceScalingGroup - 资源组扩缩容
RSG 面向 Kubernetes 工作负载分组扩缩场景,将多个资源抽象为逻辑组统一编排,支持 GroupReplication 与 InplaceScaling 两类核心策略。
- 基于标准 CRD
ResourceScalingGroup管理一组目标资源。 - 支持管理
Deployment、StatefulSet、LeaderWorkerSet。 GroupReplication:按组复制、恢复和缩容,适合整链路成组扩缩。InplaceScaling:按 leader 副本与比例联动 follower 副本。- 在
GroupReplication下暴露scale子资源,可被 HPA/ElasticScaler/Tidal 等上层策略驱动。
Tidal - 潮汐算法
Tidal 提供时间驱动扩缩决策能力,通过 Tidal CRD 在指定时间点生成目标副本,并由 Elastic Scaler 统一执行扩缩。
- 基于标准 CRD
Tidal提供时间驱动扩缩决策。 - 支持多条时间规则组合与 6 位 CRON(含时区)配置。
- 多规则同一时刻冲突时,按“最大副本数”策略消解。
- 通过
Status字段提供desiredReplicas、activeRule、lastTriggerTime、nextTriggerTime等可观测信息。
使用指南
Elastic Scaler用户手册:AI 推理弹性伸缩用户手册ResourceScalingGroup用户手册:AI 推理 ResourceScalingGroup 用户手册Tidal用户手册:AI 推理潮汐调度算法用户手册
组件版本
| 组件名称 | 版本 | 说明 |
|---|---|---|
| elastic-scaler | latest | 决策与触发控制器 |
| resourcescalinggroup | latest | RSG 资源组扩缩控制器 |
| tidal | latest | 潮汐调度控制器 |
| pd-orchestrator | 0.0.0-latest | 三组件集成部署 |
快速开始
方式一:本地Helm部署
在仓库根目录执行:
cd charts/pd-orchestrator
helm dependency build
helm install pd-orchestrator .
charts/pd-orchestrator/values.yaml 支持按需开关三组件:
elastic-scaler:
enabled: true
resourcescalinggroup:
enabled: true
tidal:
enabled: true
方式二:OCI 镜像仓库Helm部署
无需克隆仓库,直接使用已发布的 Chart:
helm install pd-orchestrator oci://cr.openfuyao.cn/charts/pd-orchestrator --version 0.0.0-latest
按需覆盖默认值时,可追加 -f values.yaml 或 --set key=value。
适用场景
- 通用弹性策略场景:通过
elastic-scaler实现指标驱动扩缩和事件驱动。 - 多资源协同扩缩场景:通过
resourcescalinggroup统一管理一组目标负载。 - 业务潮汐波动场景:通过
tidal实现定时扩缩。