使用 Kube-capacity CLI 查看 Kubernetes 资源请求、限制和利用率
Kube-capacity是一个简单而强大的CLI,它提供了Kubernetes集群中资源请求、限制和利用率的概览。它将输出的最佳部分结合kubectl top到kubectl describe一个易于使用的集中于集群资源的CLI中。
不过像这样的工具确实好用一些,比如我想看这个kube-system下有哪些pod有没有设置request和limit的时候,实际上,我需要输入一段很长的命令才能列出,而且需要一些调试,这看起来不是特别方便
#kubectlgetpod-nkube-system-o=custom-columns=NAME:.metadata.name,NAMESPACE:.metadata.namespace,PHASE:.status.phase,Request-cpu:.spec.containers[0].resources.requests.cpu,Request-memory:.spec.containers[0].resources.requests.memory,Limit-cpu:.spec.containers[0].resources.limits.cpu,Limit-memory:.spec.containers[0].resources.limits.memory
NAMENAMESPACEPHASERequest-cpuRequest-memoryLimit-cpuLimit-memory
calico-kube-controllers-7d4c6544cc-g6x6qkube-systemRunning
calico-node-4fjn8kube-systemRunning250m
calico-node-7nbpjkube-systemRunning250m
calico-node-qvdlrkube-systemRunning250m
coredns-7977f69688-4nz9qkube-systemRunning100m70Mi170Mi
coredns-7977f69688-frkt5kube-systemRunning100m70Mi170Mi
etcd-k8s-master1kube-systemRunning100m100Mi
etcd-k8s-master2kube-systemRunning100m100Mi
etcd-k8s-master3kube-systemRunning100m100Mi
kube-apiserver-k8s-master1kube-systemRunning250m
那么这个工具实际上解决的问题就是帮助我们快速查看概览整个集群和pod的资源配置情况
安装
Go二进制文件由GoReleaser随每个版本自动构建。这些可以在此项目的GitHub发布页面上访问。
https://github.com/goreleaser/goreleaser
https://github.com/robscott/kube-capacity/releases
Homebrew
这个项目可以用Homebrew安装:
brewtaprobscott/tap
brewinstallrobscott/tap/kube-capacity
Krew
这个项目可以用Krew安装:
kubectlkrewinstallresource-capacity
用法
默认情况下,kube-capacity将输出一个节点列表,其中包含CPU和内存资源请求的总数以及在它们上运行的所有pod的限制。对于具有多个节点的集群,第一行还将包括集群范围的总数。该输出将如下所示:

包括 Pod
对于更详细的输出,kube-capacity可以在输出中包含pod。当-p或--pods被传递给kube-capacity时,它将包含如下所示的特定于pod的输出

包括利用率
为了帮助了解资源利用率与配置的请求和限制的比较,kube-capacity可以在输出中包含利用率指标。请务必注意,此输出依赖于集群中的metrics-server正常运行。当-u或--util被传递给kube-capacity时,它将包含如下所示的资源利用率信息:

包括 Pod 和利用率
对于更详细的输出,kube-capacity可以在输出中包含pod和资源利用率。当--util和--pods传递给kube-capacity时,它将产生如下所示的宽输出:

值得注意的是,来自pod的利用率数字可能不会与总节点利用率相加。与节点和集群级别数字代表pod值总和的请求和限制数字不同,节点指标直接来自指标服务器,并且可能包括其他形式的资源利用率。
排序
要突出显示具有最高指标的节点、pod和容器,您可以按各种列进行排序:

显示 Pod 计数
要显示每个节点和整个集群的pod数量,可以通过--pod-count参数:

按标签过滤
对于更高级的使用,kube-capacity还支持按pod、命名空间和/或节点标签进行过滤。以下示例展示了如何使用这些过滤器:
kube-capacity--pod-labelsapp=nginx
kube-capacity--namespace默认
kube-capacity--namespace-labelsteam=api
kube-capacity--node-labelskubernetes.io/role=node
JSON 和 YAML 输出
默认情况下,kube-capacity将以表格格式提供输出。要以JSON或YAML格式查看此数据,可以使用输出标志。以下是一些示例命令:
kube-capacity--pods--outputjson
kube-capacity--pods--containers--util--outputyaml
支持的标志

先决条件
任何请求集群利用率的命令都依赖于集群上运行的metrics-server。如果尚未安装,您可以使用官方helm chart进行安装。
https://github.com/helm/charts/tree/master/stable/metrics-server
https://github.com/kubernetes-incubator/metrics-server
原文标题:使用 Kube-capacity CLI 查看 Kubernetes 资源请求、限制和利用率
文章出处:【微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。
-
Capacity
+关注
关注
0文章
2浏览量
6634 -
CLI
+关注
关注
1文章
80浏览量
8965 -
kubernetes
+关注
关注
0文章
256浏览量
9405
原文标题:使用 Kube-capacity CLI 查看 Kubernetes 资源请求、限制和利用率
文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
C语言的printf基本用法介绍
飞凌嵌入式ElfBoard-Vim编辑器之GCC编译器的安装
一步步教你正确的电磁流量计安装
【HZ-T536开发板免费体验】Docker 环境安装及应用
【RA4E2开发板评测】1、开发板开箱与环境搭建,rfp-cli.exe命令行烧录
是否可以通过 CLI 在 Linux 上通过 Nu-Link 对 M2354 MCU 进行编程?
【RA-Eco-RA6M4开发板评测】2、移植FreeRTOS_CLI和添加自定义指令
【RA4L1-SENSOR】4、移植FreeRTOS-CLI
【幸狐Omni3576边缘计算套件试用体验】Redis最新8.0.2版本源码安装及性能测试
UIAbility组件基本用法说明
同样的代码在官方开发板上运行正常,在自己板子上就跑不起来,怎么办?

Kube-capacity CLI的安装与用法
评论