kubernetes - 如何在 k8s 中转储每个命名空间的资源(CPU、内存)使用情况?

标签 kubernetes kubectl

我有一个在同一个 k8s 集群下创建的命名空间列表,我想找出每个命名空间的资源(CPU、内存)使用情况。有什么我可以使用的命令吗?

最佳答案

是的。您可以使用

$ kubectl -n <nampespace> top pod

例如:
$ kubectl top pod -n kube-system
NAME                                                                 CPU(cores)   MEMORY(bytes)
calico-node-xxxxx                                                    17m          166Mi
coredns-xxxxxxxxxx-xxxxx                                             2m           11Mi
coredns-xxxxxxxxxx-xxxxx                                             3m           11Mi
etcd-ip-x-x-x-x.us-west-2.compute.internal                           19m          149Mi
kube-apiserver-ip-x-x-x-x.us-west-2.compute.internal                 39m          754Mi
kube-controller-manager-ip-x-x-x-x.us-west-2.compute.internal        20m          138Mi
kube-proxy-xxxxx                                                     5m           12Mi
kube-scheduler-ip-x-x-x-x.us-west-2.compute.internal                 6m           17Mi
metrics-server-xxxxxxxxxx-xxxxx                                      0m           15Mi

如果需要总数,则需要将 CPU 和 MEMORY 列上的所有条目相加。

请注意,对于 kubectl top要工作,您需要拥有 metrics-server适本地设置和配置。 (较旧的集群使用 heapster )

关于kubernetes - 如何在 k8s 中转储每个命名空间的资源(CPU、内存)使用情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54356588/

相关文章:

kubernetes - kubectl exec 失败,出现 "container <command> is not valid for pod <pod_name>"

kubernetes - 使用服务帐户 token 访问 k8s 集群

docker - GKE 扩展内存和 Kubernetes 内存可分配

kubernetes - 使用 Helm 在 ConfigMap 中包含 shell 脚本以 YAML 错误结束

kubernetes - 在命令行中使用kubectl创建具有指定名称的Pod吗?

Kubernetes RBAC 限制用户在 Kubernetes 仪表板上仅查看所需资源

azure - 如何更改 sidecarject-config.yaml 中的 istio 全局参数

git - K8S : How to reach pod with SSH service (Gitea) over the same host ingress-nginx exposes as HTTP?

kubernetes - 观看Kubernetes作业输出直到完成

kubernetes - 列出命名空间中的所有资源