Kubernetes Kubectl top 命令

Posted 地表最强菜鸡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kubernetes Kubectl top 命令相关的知识,希望对你有一定的参考价值。

        kubectl top命令可显⽰节点和Pod对象的资源使⽤信息,它依赖于集群中的资源指标API来收集各项指标数据。它包含有node和pod两个⼦命令,可分别⽤于显⽰Node对象和Pod对象的相关资源占⽤率。

        列出Node资源占⽤率命令的语法格式为 kubectl top node[-l label|NAME],例如下⾯显⽰所有节点的资源占⽤状况的结果中显⽰了各节点累计CPU资源占⽤时长及百分⽐,以及内容空间占⽤量及占⽤⽐例。必要时,也可以在命令中直接给出要查看的特定节点的标识,以及使⽤标签选择器进⾏节点过滤:

# kubectl top node
NAME               CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
develop-master-1   1980m        50%    7220Mi          46%       
develop-worker-1   2170m        55%    6803Mi          43%       
develop-worker-2   1239m        31%    6344Mi          40%  
  • CPU(核心)1980m表示 1980 毫普。1000m等于 1 个 CPU,因此 1980m 表示 1 个 CPU 的 198%

  • CPU% 仅针对节点显示,代表该节点的总CPU使用百分比

  • 内存 该节点正在使用的内存

  • Memory% 也只针对节点显示,表示该节点的总内存使用百分比

        ⽽名称空间级别的Pod对象资源占⽤率的使⽤⽅式会略有不同,使⽤时,⼀般应该限定名称空间及使⽤标签选择器过滤出⽬标Pod对象。命令的语法格式为kubectl top pod[NAME|-l label][--all-namespaces][--containers=false|true],例如,下⾯显⽰kube-system名称空间中标签为“k8s-app=kube-dns”的所有Pod资源及其容器的资源占⽤状态:

# kubectl top pod -l k8s-app=kube-dns --containers=true -n kube-system
POD                        NAME      CPU(cores)   MEMORY(bytes)   
coredns-6f9685b855-82g5x   POD       0m           0Mi             
coredns-6f9685b855-82g5x   coredns   9m           27Mi            
coredns-6f9685b855-zmvwt   POD       0m           0Mi             
coredns-6f9685b855-zmvwt   coredns   5m           29Mi   

# kubectl top pod -l k8s-app=kube-dns --containers=false -n kube-system 
NAME                       CPU(cores)   MEMORY(bytes)   
coredns-6f9685b855-82g5x   7m           28Mi            
coredns-6f9685b855-zmvwt   8m           30Mi           

        到此 Kubernetes Kubectl top 命令介绍完成。

以上是关于Kubernetes Kubectl top 命令的主要内容,如果未能解决你的问题,请参考以下文章

从 Kubectl Top 说起, 谈谈 Kubernetes 是如何进行资源监控的?

Kubernetes集群安装kube-prometheus后无法执行kubectl top node

kubernetes集群客户端命令 kubectl

三Kubernetes集群的命令行工具kubectl

Kubernetes命令行工具--kubectl管理

kubernetes组件——kubectl命令行工具管理