0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Kube-capacity CLI的安装与用法

马哥Linux运维 ? 来源:云原生CTO ? 作者:charts ? 2022-07-03 15:30 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

使用 Kube-capacity CLI 查看 Kubernetes 资源请求、限制和利用率

Kube-capacity是一个简单而强大的CLI,它提供了Kubernetes集群中资源请求、限制和利用率的概览。它将输出的最佳部分结合kubectl topkubectl describe一个易于使用的集中于集群资源的CLI中。

2894ac30-f947-11ec-ba43-dac502259ad0.png ?

不过像这样的工具确实好用一些,比如我想看这个kube-system下有哪些pod有没有设置requestlimit的时候,实际上,我需要输入一段很长的命令才能列出,而且需要一些调试,这看起来不是特别方便

#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的限制。对于具有多个节点的集群,第一行还将包括集群范围的总数。该输出将如下所示:

28a71c30-f947-11ec-ba43-dac502259ad0.png

包括 Pod

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

28bd1bca-f947-11ec-ba43-dac502259ad0.png

包括利用率

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

2894ac30-f947-11ec-ba43-dac502259ad0.png

包括 Pod 和利用率

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

28f83d5e-f947-11ec-ba43-dac502259ad0.png

值得注意的是,来自pod的利用率数字可能不会与总节点利用率相加。与节点和集群级别数字代表pod值总和的请求和限制数字不同,节点指标直接来自指标服务器,并且可能包括其他形式的资源利用率。

排序

要突出显示具有最高指标的节点、pod和容器,您可以按各种列进行排序:

290efd00-f947-11ec-ba43-dac502259ad0.png

显示 Pod 计数

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

291c98ca-f947-11ec-ba43-dac502259ad0.png

标签过滤

对于更高级的使用,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将以表格格式提供输出。要以JSONYAML格式查看此数据,可以使用输出标志。以下是一些示例命令:

kube-capacity--pods--outputjson
kube-capacity--pods--containers--util--outputyaml

支持的标志

29347706-f947-11ec-ba43-dac502259ad0.png

先决条件

任何请求集群利用率的命令都依赖于集群上运行的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

    浏览量

    6611
  • CLI
    CLI
    +关注

    关注

    1

    文章

    80

    浏览量

    8846
  • kubernetes
    +关注

    关注

    0

    文章

    254

    浏览量

    9165

原文标题:使用 Kube-capacity CLI 查看 Kubernetes 资源请求、限制和利用率

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    是否可以通过 CLI 在 Linux 上通过 Nu-Link 对 M2354 MCU 进行编程?

    是否可以通过 CLI 在 Linux 上通过 Nu-Link 对 M2354 MCU 进行编程? 我正在尝试从运行 armbian 最小版本的基于 arm 的 PC 对 M2354 MCU 进行编程,而无需 GUI。
    发表于 08-18 08:10

    请问IR600 CLI 如何保存配置?

    IR600 CLI 如何保存配置?
    发表于 08-06 07:51

    【RA-Eco-RA6M4开发板评测】2、移植FreeRTOS_CLI和添加自定义指令

    FreeRTOS提供多种软件组件为用户提供不同的功能,这里介绍如何移植其中的FreeRTOS-CLI命令行工具到RA6M4开发板上。 1、工程配置 参考下面的帖子中创建工程的过程,初始化开发板的串口
    发表于 07-23 11:34

    【RA4L1-SENSOR】4、移植FreeRTOS-CLI

    FreeRTOS提供有不同的组件为用户提供不同的功能,本文移植其中的FreeRTOS-CLI命令行工具到RA4L1-Sensor开发板上。 1、工程配置 参考下面的帖子中创建工程的过程,创建
    发表于 06-26 22:30

    【幸狐Omni3576边缘计算套件试用体验】Redis最新8.0.2版本源码安装及性能测试

    可执行程序都安装了,安装目录为/usr/local/bin,可以用which redis-cli命令验证: 三、运行Redis基准测试 3.1 查看redis-server用法 初次
    发表于 06-03 01:28

    UIAbility组件基本用法说明

    UIAbility组件基本用法 UIAbility组件的基本用法包括:指定UIAbility的启动页面以及获取UIAbility的上下文UIAbilityContext。 指定UIAbility
    发表于 05-16 06:32

    同样的代码在官方开发板上运行正常,在自己板子上就跑不起来,怎么办?

    下载Blinky程序去点亮它,Blinky程序所在SDK目录为:SDK安装目录examplesperipheralblinky。如果你的板子没有LED,但有UART的话,可以下载CLI代码去进行
    的头像 发表于 05-12 15:26 ?300次阅读
    同样的代码在官方开发板上运行正常,在自己板子上就跑不起来,怎么办?

    harmony OS NEXT-Navagation基本用法

    # Navagation基本用法 > Navigation组件是路由导航的根视图容器,一般作为Page页面的根容器使用,其内部默认包含了标题栏,内容栏和公工具栏,其中内容区默认首页显示导航内容
    的头像 发表于 04-27 17:39 ?397次阅读

    如何将ENWF9408AVEF Wi-Fi模块添加到1064EVK wifi_cli SDK项目中?

    如何将 松下 ENWF9408AVEF (NXP 88W8977) Wi-Fi 模块添加到 1064EVK wifi_cli SDK 项目中? 使用不同的 88W8977 定义初始化失败
    发表于 04-02 07:50

    ADS1258 VREFN接了地,想问这样用法可以吗?

    现在是这样使用ADS1258电压参考的,VREFP接2.5V电压,VREFN接地,因为采集信号都是正压的,所以VREFN接了地,想问这样用法可以吗?会不会影响ADS1258正常工作?
    发表于 12-27 06:06

    DAC7562的CLR引脚怎么用法?可以悬空吗?

    DAC7562的CLR引脚怎么用法?可以悬空吗?能不能详细解释一下?谢谢
    发表于 12-17 08:16

    常用SQL函数及其用法

    的 SQL 函数及其用法: 一、聚合函数(Aggregate Functions) 聚合函数对一组值执行计算,并返回单个值。 COUNT() 用途 :返回匹配指定条件的行数。 示例 : SELECT
    的头像 发表于 11-19 10:18 ?1748次阅读

    Linux lsof命令的基本用法

    在 linux 系统中,一切皆文件。通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以 lsof 命令不仅可以查看进程打开的文件、目录,还可以查看进程监听的端口等 socket 相关的信息。本文将介绍 lsof 命令的基本用法,本文中 demo 的演示环境为 ubuntu 18.04。
    的头像 发表于 10-23 11:52 ?1594次阅读
    Linux lsof命令的基本<b class='flag-5'>用法</b>

    共模电感的用法

    呈现出大电感,具有抑制作用,而对于差模信号则呈现出很小的漏电感,几乎不起作用。以下是对共模电感用法的详细探讨。
    的头像 发表于 10-17 15:12 ?2351次阅读

    Sn74hc245具体的用法是什么?

    Sn74hc245是缓冲器,但是具体的用法不会
    发表于 09-10 07:32