2017-07-11 9 views
1

"kubectl top node"によって返されたメモリ使用量をどのように解釈すればよいですか?例えば。それは返す場合:Kubernetes: "kubectl top node"のメモリ使用量を理解する

 
    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の


kubernetesダッシュボード


私は違いを和解させる?

答えて

1

kubectl top nodeはVM(ノード)の実際の使用を反映し、そしてK8Sダッシュボードが限界のパーセンテージを示している/あなたが構成要求です。

など。 EC2インスタンスには8Gのメモリがあり、実際には3237MBを使用するため、41%になります。 k8sでは、410MB(5.13%)しか要求せず、メモリ容量は470MBに制限されています。これは、5.13%のメモリしか消費しませんが、設定された量を消費するという意味ではありません。

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リクエストで多くのポッドを見る/制限はがメモリを消費し、間違いなく無制限K8Sのダッシュボードにはカウントされませんでしたが、を意味します。

k8sダッシュボードと一致するメモリリクエスト/リミットを合計します。 kubectlトップnodes` `でのCPU%程度、それが実際にVM(ノード)のCPU使用率を示してい何 enter image description here

+0

? この素晴らしい%値を取得するAPIはありますか? – Alexander

+1

同じこと。 'kubectl top nodes'は実際にVM(ノード)のCPU使用率を示します。そして、私はk8がこの種のAPIを現在提供していないと思います。 –