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

如何通过JSON Path查询将Kubectl节点内存输出从Ki转MB?

实现Kubernetes节点内存从Ki转换为MB的展示方案

首先明确:JSON Path本身不支持数值计算和单位转换,它只是用于提取JSON结构数据的查询语言,无法完成算术运算或单位转换操作。要实现Ki转MB的需求,必须结合Shell工具(比如awk)来处理数据。

下面是两种可行的命令方案:

方案1:用jsonpath提取后通过awk转换

kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.capacity.memory}{"\n"}{end}' | awk '{print $1 "\t" int($2/1024) "MB"}'
  • 第一步:jsonpath遍历所有节点,提取节点名称和带Ki单位的内存值,用制表符分隔每行数据
  • 第二步:awk自动剥离内存值后的Ki单位,将数值除以1024取整,拼接MB单位后输出

方案2:基于custom-columns输出再处理表头和数据

kubectl get no -o=custom-columns=NAME:.metadata.name,MEMORY:.status.capacity.memory | awk 'NR==1 {print $0} NR>1 {print $1 "\t" int($2/1024) "MB"}'
  • 先用custom-columns输出原始的两列数据(包含表头)
  • awk保留第一行表头,对后续数据行的内存值做单位转换后输出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 21:05:00