You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将kubectl describe nodes输出的CPU、内存请求和限制值统一单位

kubectl describe nodes 资源单位统一方案

kubectl describe nodes 本身没有内置参数支持强制统一CPU、内存的输出单位,可通过以下两种方案实现需求:

方案1:使用自定义输出直接获取最小单位数值

放弃使用kubectl describe解析文本,改用kubectl get的自定义输出功能,直接输出无需换算的最小单位原始值:

  • CPU统一返回毫核(m)单位
  • 内存统一返回千字节(Ki)单位

示例命令:

# 输出节点的总可分配资源、已分配资源,统一最小单位
kubectl get nodes -o custom-columns=\
节点名:.metadata.name,\
CPU总可分配:.status.allocatable.cpu,\
内存总可分配:.status.allocatable.memory,\
CPU已请求:.status.allocatable.cpu,\
内存已请求:.status.allocatable.memory

如果需要输出节点上每个Pod的资源请求/限制值,也可以针对Pod资源配置对应的custom-columns规则,输出格式规整无多余内容,适合脚本直接解析。

方案2:解析JSON输出自定义换算单位

如果需要统一为指定单位(比如内存统一为Mi、CPU统一为核),可以先输出JSON格式,再通过jq工具做单位换算,示例命令:

# CPU统一转换为毫核数值,内存统一转换为Mi数值
kubectl get nodes -o json | jq '.items[] | {
    节点名: .metadata.name,
    CPU总可分配_m: (.status.allocatable.cpu | if endswith("m") then .[:-1]|tonumber else .|tonumber * 1000 end),
    内存总可分配_Mi: (.status.allocatable.memory | rtrimstr("Ki") | tonumber / 1024 | floor)
}'

换算后直接输出纯数字,无需额外处理即可给后续脚本使用。


内容的提问来源于stack exchange,提问作者Stephane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:15:00