使用 kubectl 查询 cpu 请求和限制 kubernetes 上下文/命名空间中的每个容器

query cpu request and limit for each containers in kubernetes context / namespace with kubectl

有没有办法使用 kubectl 查询 cpu 请求并限制 kubernetes 上下文/命名空间中的每个容器,就像我可以查询 cpu 使用 kubectl top pods 一样。

Requests and limits 是 Kubernetes 用来控制 CPU 和内存等资源的机制。请求是容器保证得到的。如果容器请求资源,Kubernetes 只会将其调度到可以为它提供该资源的节点上。另一方面,限制确保容器永远不会超过某个值。容器只允许上到limit,然后就是restricted.Limit永远不能低于request.

如@chris 所说,尝试以下命令 cpu kubernetes 命名空间的请求和限制

您可以使用以下命令获取 pods 和他们的 CPU 请求。

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

您可以使用以下命令获取 pods 及其 CPU 限制。

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