

如图,deployment 详情页,hpa 只显示了当前的使用率,cpu target averageUtilization 这里显示了 None,metrics-server 是安装了的,`kubectl get hpa` 可以显示 cpu target averageUtilization。
部署了 v3.1.1,v3.3.0 版本测试都会有这个问题,感觉这个问题挺明显的,但搜了一圈竟然都没遇到反馈类似问题的。
查了下 console 的代码,貌似这里的数据是从 annotation 获取的(https://github.com/kubesphere/console/blob/master/src/utils/object.mapper.js#L339-L342),但看了后端代码,k8s 资源是直接 get 之后返回给前端的,没有看到对 hpa 做特殊处理(将 target averageUtilization 塞到 annotation)
参考 current cpu usage 的处理方式,修改成如下处理方式,然后 build console 的镜像试了下是可以正常显示的
// before
cpuTargetUtilization: get(
item,
'metadata.annotations.cpuTargetUtilization'
),
// after
const targetMetrics = keyBy(
get(item, 'spec.metrics') || [],
metric => get(metric, 'resource.name')
)
cpuTargetUtilization: get(
targetMetrics,
'cpu.resource.target.averageUtilization'
),
想问下,这里从 annotation 取 cpu target averageUtilization 是有什么特殊考虑吗