红帽八点一课直播2023-10-19
🎾

红帽八点一课直播2023-10-19

主题

可持续计算-从云原生工作负载的能耗管理管理谈起。

理念

红帽三位一体:降本增效、智能创建、软件供应链安全。

概念

  • 吸血鬼电力:指当电子设备名义上被关闭或者处于待机模式时浪费的能量。
  • “双碳”战略:碳达峰与碳中和,相应国家政策。
  • 可持续计算:以优化清洁产能、提升计算水平、保障不间断服务、快速响应安全事件为目标,包含可持续计算基础设施、云计算技术与平台、可持续业务三个层次,覆盖IT软硬件、配套设施、业务应用,囊括了规划、设计、开发、运行、维护、升级、废弃回收的全周期活动。

项目

kepler:由红帽新兴技术团队创立的开源项目,定义为云计算中每个应用的“软件电表”,用电量。优点是使用eBPF采集数据所以电表本身耗电较少。
kepler在云计算可持续计算中的观测地位:参考cncf博客

云原生工作负载的能耗管理

云 边 边
优化目标:整体碳排放降到最低。 策略:重新分配调度、重构业务代码 方法:负载重的应用尽可能放在云端,负载轻的应用尽可能放在边端。

kepler 支持范围

  • 支持 Pod、容器、进程级别的指标
  • 支持CPU(x86、arm、s390x)、GPU、DRAM
  • 将开始支持BMC、HMC和其他设备
  • 支持裸机、裸金属功能测量,将调查TEE的支持情况。
notion image

kepler

概念

kubernetes-based efficient power level exporter 是一个普罗米修斯exporter。

架构

notion image

部署

Kepler部署要点

  • kepler-clusterrole
  • privileged
  • Mount path
    • lib-modules
    • proc
cluster
cluster
K8s node
K8s node
Container runtime
Container runtime
nginx container、App containerkepler container
nginx Pod、App Pod、kepler Pod
ebpf + cgroup
ebpf + cgroup
Linux BM
Linux VM

部署方式

  • manifest
  • helm chart
  • operator
  • rpm

构建

eBPF程序、GPU需要构建在kepler镜像里面。 pod list、硬件监控传感器需要挂载再容器中。 构建要点:
  • docker image
  • internal resource(host path)
  • external resource(k8s api)

模型训练

  • 功率比建模: 该建模通过功率总和的使用率来计算更细粒度的功率。当总功率已知时,默认情况下会使用此建模。
  • 功率估计建模:该建模通过使用度量作为训练模型的输入特征来估计功率。即使不能测量功率度量,也可以使用此建模。估计可以分为三个级别:节点总功率 (包括风扇、电源等)、节点内部组件功率 (如CPU、内存)、Pod功率。另请参阅开始使用Kepler模型服务器。(适合虚拟机的功耗计算:虚拟化后的检测数据不准确。)
  • 训练分三步 1、部署kepler 2、训练模型 3、使用
    • notion image
  • 计算的可持续性:边缘工作负载的节能位置
  • 绿色CI/CD:GitOps的可持续发展之旅
  • 通过lstio实现优化微服务性能和可持续性,开普勒与智能调度 未来方向:能耗+性能双优化

openshift 能耗监控 power monitoring

openshift新功能:openshift能耗监控(基于kepler),已集成为开发者预览功能。

问题

  • 不同机器指令功耗开销可能不同:kepler是从机器出发的,每台机器计算每台机器上pod的功耗,所以是有差异的。
  • 为什么不用PDU计算电耗使用模型:kepler为进程级,模型更详细精准、利于程序优化
  • kepler本身能耗:是程序,需要耗电,表盘会展示。

总结

kepler是红帽的upstream项目,可以与模型训练、CICD或服务网格等功能相结合,适合在云计算中部署、了解环境整体功耗情况,将负载低的资源调度到边端,减少充电次数并降低能源消耗,整体看来该项目在大环境下才能发挥更大的作用。结合有雀现状,适合在有绿色能源理念公司、大环境下的项目使用,可以考虑作为中优先级的需求导入项目。