Kubernetes 如何在k8s中转储每个命名空间的资源(CPU、内存)使用情况?
我有一个在同一个k8s集群下创建的名称空间列表,我想了解每个名称空间的资源(CPU、内存)使用情况。有我可以使用的命令吗?有。你可以用Kubernetes 如何在k8s中转储每个命名空间的资源(CPU、内存)使用情况?,kubernetes,kubectl,Kubernetes,Kubectl,我有一个在同一个k8s集群下创建的名称空间列表,我想了解每个名称空间的资源(CPU、内存)使用情况。有我可以使用的命令吗?有。你可以用 $ kubectl -n <nampespace> top pod 如果需要总计,则需要将CPU和内存列上的所有条目相加 请注意,要使kubectl top正常工作,您需要进行适当的设置和配置。(较旧的集群使用)谢谢Rico,答案很好,但只是作为补充: 您可以指定资源配额,然后按指定方式查看它们。 除此之外,还有像普罗米修斯这样的外部监测工具。此外
$ kubectl -n <nampespace> top pod
如果需要总计,则需要将CPU和内存列上的所有条目相加
请注意,要使
kubectl top
正常工作,您需要进行适当的设置和配置。(较旧的集群使用)谢谢Rico,答案很好,但只是作为补充:
您可以指定资源配额,然后按指定方式查看它们。
除此之外,还有像普罗米修斯这样的外部监测工具。此外,还有一个可以:
显示StackDriver中的历史统计资源使用情况
列出集群中POD的资源QoS分配。灵感来自:
该案例仍在继续,但似乎最终会有一些变化,因为其中一位参与者表示,有一项计划将删除kubectl top,并使用一些本机解决方案,因此我建议遵循此思路。编写一个shell脚本以获取集群中的所有名称空间。遍历每个名称空间。运行kubectl顶部吊舱。 在名称空间中添加所有POD的cpu和内存
$ 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