【问题标题】:kubectl - format the resource quota values in json formatkubectl - 以 json 格式格式化资源配额值
【发布时间】:2019-10-08 13:45:20
【问题描述】:

在 Kubernetes 中获取资源配额值的一种方法是使用以下命令

>kubectl describe resourcequotas
Name:                   default-quota
Namespace:              my-namespace
Resource                Used     Hard
--------                ----     ----
configmaps              19       100
limits.cpu              13810m   18
limits.memory           25890Mi  36Gi

但问题是这会以文本文件格式显示所有值。任何人都知道我如何获得 json 格式!

当然,我可以解析输出并获取单个条目并构造 json。

kubectl describe quota  | grep limits.cpu | awk '{print $2}'
13810m

但我正在寻找内置的东西或一些快速的方法。感谢您的帮助。

【问题讨论】:

  • 是的,我看到了。但这不是我要找的。感谢您的指点。
  • 您可以使用 'kubectl get resourcequotas -o json',我认为这对于您的用例来说是不够的 - 请解释您想要实现的目标以及为什么它不适合您

标签: json kubernetes kubectl


【解决方案1】:

感谢您的留言。让我回答我自己的问题,我找到了一个。

jq 解决了我的问题。

获取json格式资源的最大限制

kubectl get quota -ojson | jq -r .items[].status.hard

以json格式获取资源的当前使用情况

kubectl get quota -ojson | jq -r .items[].status.used

【讨论】:

    【解决方案2】:

    kubectl 本身提供了一种使用-o jsonpath 选项提供jsonpath 的机制。我最初面临的主要问题之一是在key 中拥有dot(.)。例如,limits.cpu。 这个问题可以通过使用表达式"limits\.cpu"(转义点)来解决

    kubectl get resourcequota -o jsonpath={.items[*].spec.hard."limits\.cpu"}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-01
      • 2015-12-18
      • 2019-03-31
      • 1970-01-01
      • 2016-09-24
      • 2023-03-21
      • 1970-01-01
      • 2016-12-13
      相关资源
      最近更新 更多