License管理

最近更新时间: 2026-03-13 09:03:00

组件注册与授权初始化

目的:自动发现和注册新业务组件
流程

  1. License Controller 监听 Kubernetes API Server 上的 LicenseClient CRD 资源变化事件
  2. 从 CRD 读取组件标识、采集配置等信息
  3. 将授权信息、配额配置写入 License Database,更新 CRD status 为已注册
  4. 通过事件机制通知注册结果

周期性用量采集

目的:定期采集各组件的资源使用情况
流程

  1. License Server 定时调度器每 5 分钟触发采集任务
  2. 从 Kubernetes 获取所有已注册的 LicenseClient 资源列表
  3. 并发调用各业务组件暴露的采集接口,获取约束项用量(CPU、Memory、实例数等)
  4. 汇总采集结果,计算配额使用率,按时间序列写入 License Database
  5. License UI 读取数据库展示统计报表和趋势图

扩容授权检查

目的:在组件扩容前验证是否有足够的配额
流程

  1. 业务组件发起扩容请求(包含组件 ID、目标实例数等)
  2. License Server 验证请求合法性
  3. 从 License Database 查询组件的总配额和当前使用量
  4. 执行配额检查:新增用量 + 当前使用量 ≤ 总配额 → 允许,否则拒绝
  5. 返回允许/拒绝结果,记录审计日志

四、配额策略与告警

告警规则

  • 预警(≥80%):黄色告警,建议尽快扩容
  • 告警(≥100%):红色告警,禁止扩容,必须立即处理

通知渠道:站内信、邮件、短信、公告

管理员操作

  1. 登录 License UI 查看实时用量、历史趋势、告警状态
  2. 修改组件配额、调整告警阈值、设置有效期
  3. License Server 监听策略变更事件,实时加载新配置
  4. 所有变更操作记录在 License Database 供审计追踪

五、关键设计原则

原则 说明
事件驱动 基于 CRD 事件自动触发注册流程
异步并发 采集时并发调用各组件接口,提高效率
配额优先 扩容前必须检查配额,防止资源超用
多层告警 预警和告警分级处理,及时通知管理员
完整审计 所有操作(注册、采集、检查、变更)都有日志
实时同步 策略变更立即生效,无需重启系统

六、核心数据流

CRD 变化事件
    ↓
Server 监听 → 读取配置 → 写入数据库 → 更新 CRD 状态
    ↓
定时采集触发
    ↓
Server 获取组件列表 → 并发采集接口 → 汇总用量 → 写入数据库
    ↓
告警规则检查 → 触发通知(平台公告/邮件/微信)
    ↓
UI 展示 → 管理员查看/配置 → 策略变更 → Server 同步新配置