Kubernetes:了解"kubectl顶层节点"的内存使用情况. [英] Kubernetes: understanding memory usage for "kubectl top node"
问题描述
如何解释"kubectl顶部节点"返回的内存使用情况.例如.如果返回:
How do I interpret the memory usage returned by "kubectl top node". E.g. if it returns:
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
ip-XXX.ec2.internal 222m 11% 3237Mi 41%
ip-YYY.ec2.internal 91m 9% 2217Mi 60%
通过比较,如果我在Kubernetes仪表板中查找同一节点,则会得到: 内存请求:410M/7.799 Gi
By comparison, if I look in the Kubernetes dashboard for the same node, I get: Memory Requests: 410M / 7.799 Gi
kubernetes仪表板
我如何调和差异?
推荐答案
kubectl top node
反映了VM(节点)的实际使用情况,而k8s仪表板则显示了您配置的限制/请求的百分比.
kubectl top node
is reflecting the actual usage to the VM(nodes), and k8s dashboard is showing the percentage of limit/request you configured.
例如您的EC2实例具有8G内存,而您实际使用的是3237MB,因此占41%.在k8s中,您只请求410MB(5.13%),并且限制为470MB.这并不意味着您只消耗5.13%的内存,而是配置的内存量.
E.g. Your EC2 instance has 8G memory and you actually use 3237MB so it's 41%. In k8s, you only request 410MB(5.13%), and have a limit of 470MB memory. This doesn't mean you only consume 5.13% memory, but the amount configured.
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits
--------- ---- ------------ ---------- --------------- -------------
default kube-lego 20m (2%) 0 (0%) 0 (0%) 0 (0%)
default mongo-0 100m (10%) 0 (0%) 0 (0%) 0 (0%)
default web 100m (10%) 0 (0%) 0 (0%) 0 (0%)
kube-system event-exporter- 0 (0%) 0 (0%) 0 (0%) 0 (0%)
kube-system fluentd-gcp-v2.0-z6xh9 100m (10%) 0 (0%) 200Mi (11%) 300Mi (17%)
kube-system heapster-v1.4.0-3405140848-k6cm9 138m (13%) 138m (13%) 301456Ki (17%) 301456Ki (17%)
kube-system kube-dns-3809445927-hn5xk 260m (26%) 0 (0%) 110Mi (6%) 170Mi (9%)
kube-system kube-dns-autoscaler-38801 20m (2%) 0 (0%) 10Mi (0%) 0 (0%)
kube-system kube-proxy-gke-staging-default- 100m (10%) 0 (0%) 0 (0%) 0 (0%)
kube-system kubernetes-dashboard-1962351 100m (10%) 100m (10%) 100Mi (5%) 300Mi (17%)
kube-system l7-default-backend-295440977 10m (1%) 10m (1%) 20Mi (1%) 20Mi (1%)
在这里您看到许多请求/限制为0的Pod表示 unlimited (未限制),这在k8s仪表板中没有计算,但确定会消耗内存.
Here you see many pods with 0 request/limit means unlimited, which didn't count in k8s dashboard but definitely consume memory.
总结内存请求/限制,您会发现它们与k8s仪表板匹配.
Sum up the memory request/limit you'll find they match k8s dashboard.
这篇关于Kubernetes:了解"kubectl顶层节点"的内存使用情况.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!