打印所有pod沿着CPU要求kubernetes

uwopmtnx  于 2023-02-03  发布在  Kubernetes
关注(0)|答案(3)|浏览(169)

我想打印所有Pod的列表,并在列中列出CPU要求
我很确定它类似于kubectl get pods 'spec.containers[].resources.limits.cpu'
有人能给予我正确的语法吗?

kt06eoxx

kt06eoxx1#

你也可以使用下面的命令来获得cpu的限制,这比使用jsonpath更简洁。

kubectl get po -o custom-columns="Name:metadata.name,CPU-limit:spec.containers[*].resources.limits.cpu"
3vpjnl9f

3vpjnl9f2#

您可以使用以下命令获取pod(在默认名称空间中)及其CPU限制。

kubectl get pods -o=jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.spec.containers[].resources.limits.cpu}{"\n"}{end}'

我们使用带有-o=jsonpath标志的JSONPath输出,并为它提供我们想要提取的数据。
您可以在https://kubernetes.io/docs/reference/kubectl/jsonpath/中找到有关使用JSONPath输出的详细信息

mnemlml8

mnemlml83#

你能试试下面的命令吗?用内存替换cpu来获取内存请求和限制

CPU Requests
--------------
kubectl get po --all-namespaces \
 -o=jsonpath="{range .items[*]}{.metadata.namespace}:{.metadata.name}{'\n'}{range .spec.containers[*]}  {.name}:{.resources.requests.cpu}{'\n'}{end}{'\n'}{end}"

CPU Limits
-----------
kubectl get po --all-namespaces \
 -o=jsonpath="{range .items[*]}{.metadata.namespace}:{.metadata.name}{'\n'}{range .spec.containers[*]}  {.name}:{.resources.limits.cpu}{'\n'}{end}{'\n'}{end}"

相关问题