0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Kube-capacity CLI的安裝與用法

馬哥Linux運維 ? 來源:云原生CTO ? 作者:charts ? 2022-07-03 15:30 ? 次閱讀

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

Kube-capacity是一個簡單而強大的CLI,它提供了Kubernetes集群中資源請求、限制和利用率的概覽。它將輸出的最佳部分結(jié)合kubectl topkubectl describe一個易于使用的集中于集群資源的CLI中。

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

不過像這樣的工具確實好用一些,比如我想看這個kube-system下有哪些pod有沒有設(shè)置requestlimit的時候,實際上,我需要輸入一段很長的命令才能列出,而且需要一些調(diào)試,這看起來不是特別方便

#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隨每個版本自動構(gòu)建。這些可以在此項目的GitHub發(fā)布頁面上訪問。

https://github.com/goreleaser/goreleaser

https://github.com/robscott/kube-capacity/releases

Homebrew

這個項目可以用Homebrew安裝:

brewtaprobscott/tap
brewinstallrobscott/tap/kube-capacity

Krew

這個項目可以用Krew安裝:

kubectlkrewinstallresource-capacity

用法

默認(rèn)情況下,kube-capacity將輸出一個節(jié)點列表,其中包含CPU和內(nèi)存資源請求的總數(shù)以及在它們上運行的所有pod的限制。對于具有多個節(jié)點的集群,第一行還將包括集群范圍的總數(shù)。該輸出將如下所示:

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

包括 Pod

對于更詳細(xì)的輸出,kube-capacity可以在輸出中包含pod。當(dāng)-p--pods被傳遞給kube-capacity時,它將包含如下所示的特定于pod的輸出

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

包括利用率

為了幫助了解資源利用率與配置的請求和限制的比較,kube-capacity可以在輸出中包含利用率指標(biāo)。請務(wù)必注意,此輸出依賴于集群中的metrics-server正常運行。當(dāng)-u--util被傳遞給kube-capacity時,它將包含如下所示的資源利用率信息

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

包括 Pod 和利用率

對于更詳細(xì)的輸出,kube-capacity可以在輸出中包含pod和資源利用率。當(dāng)--util--pods傳遞給kube-capacity時,它將產(chǎn)生如下所示的寬輸出:

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

值得注意的是,來自pod的利用率數(shù)字可能不會與總節(jié)點利用率相加。與節(jié)點和集群級別數(shù)字代表pod值總和的請求和限制數(shù)字不同,節(jié)點指標(biāo)直接來自指標(biāo)服務(wù)器,并且可能包括其他形式的資源利用率。

排序

要突出顯示具有最高指標(biāo)的節(jié)點、pod和容器,您可以按各種列進行排序:

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

顯示 Pod 計數(shù)

要顯示每個節(jié)點和整個集群的pod數(shù)量,可以通過--pod-count參數(shù)

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

標(biāo)簽過濾

對于更高級的使用,kube-capacity還支持按pod、命名空間和/或節(jié)點標(biāo)簽進行過濾。以下示例展示了如何使用這些過濾器:

kube-capacity--pod-labelsapp=nginx
kube-capacity--namespace默認(rèn)
kube-capacity--namespace-labelsteam=api
kube-capacity--node-labelskubernetes.io/role=node

JSON 和 YAML 輸出

默認(rèn)情況下,kube-capacity將以表格格式提供輸出。要以JSONYAML格式查看此數(shù)據(jù),可以使用輸出標(biāo)志。以下是一些示例命令:

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

支持的標(biāo)志

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


原文標(biāo)題:使用 Kube-capacity CLI 查看 Kubernetes 資源請求、限制和利用率

文章出處:【微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Capacity
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    6495
  • CLI
    CLI
    +關(guān)注

    關(guān)注

    1

    文章

    79

    瀏覽量

    8499
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    222

    瀏覽量

    8657

原文標(biāo)題:使用 Kube-capacity CLI 查看 Kubernetes 資源請求、限制和利用率

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    請問IR600 CLI如何保存配置?

    請問IR600 CLI如何保存配置?
    發(fā)表于 07-25 07:53

    CYW43455使用wpa_cli status和wl status后,會顯示不同的頻率,為什么?

    你好 IFX, 測試執(zhí)行 STA 是CYW43455 。 AP 頻道 =165 安裝無線網(wǎng)絡(luò) 加入接入點(使用wl join 或 wpa_cli) 通過\"wl status
    發(fā)表于 07-05 07:02

    鴻蒙Ability Kit(程序框架服務(wù))【UIAbility組件基本用法

    UIAbility組件的基本用法包括:指定UIAbility的啟動頁面以及獲取UIAbility的上下文[UIAbilityContext]。
    的頭像 發(fā)表于 06-06 11:02 ?317次閱讀
    鴻蒙Ability Kit(程序框架服務(wù))【UIAbility組件基本<b class='flag-5'>用法</b>】

    如何使用CLI在JTAG鏈上選擇要寫入的PSoC6?

    你好, 我想在同一個COOLDIM_PRG_BOARD上安裝兩個 PSoC6 ,并將它們放在 JTAG 菊花鏈中的MULTICH_CONNECT_PCB中以寫入閃存 ROM。 借助
    發(fā)表于 03-04 07:26

    AWTK 開源串口屏開發(fā)(10) - 告警信息的高級用法

    告警信息是串口屏常用的功能,之前我們介紹了告警信息的基本用法,實現(xiàn)了告警信息的顯示和管理。本文介紹一下實現(xiàn)查詢告警信息和查看告警信息詳情的方法。1.功能之前我們介紹了告警信息的基本用法,實現(xiàn)了告警
    的頭像 發(fā)表于 02-24 08:23 ?233次閱讀
    AWTK 開源串口屏開發(fā)(10) - 告警信息的高級<b class='flag-5'>用法</b>

    可以使用CLI命令同時使用多個miniprog4(例如,3~4)對多個CCG7x設(shè)備進行編程嗎?

    我有一個關(guān)于使用帶有 miniprog4 的 CLI 命令編程 CCG7x 的問題。 我們可以使用 CLI 命令同時使用多個 miniprog4(例如,3~4)對多個 CCG7x 設(shè)備進行編程嗎? 如果是,你能否詳細(xì)告訴我如何使用 CL
    發(fā)表于 02-22 06:30

    單片機定時器的用法

    本章以CW32通用定時器為例介紹單片機定時器的用法。
    的頭像 發(fā)表于 01-04 10:37 ?1165次閱讀
    單片機定時器的<b class='flag-5'>用法</b>

    split在python中的用法

    split在python中的用法 split()是Python中一個非常常用的字符串函數(shù),它能夠根據(jù)指定的分隔符將一個字符串分割成多個子字符串,并返回一個包含這些子字符串的列表。本文將詳細(xì)介紹
    的頭像 發(fā)表于 12-25 15:12 ?1812次閱讀

    pcb插針的用法

    pcb插針的用法
    的頭像 發(fā)表于 12-13 16:58 ?1472次閱讀

    開關(guān)和按鈕的不同特點和用法!

    開關(guān)和按鈕的不同特點和用法! 開關(guān)和按鈕是常見的電子設(shè)備或電器的組成部分,它們在控制電路或操作電子設(shè)備時起著關(guān)鍵的作用。雖然它們都用于控制電氣電路的通斷或啟停,但它們之間存在一些不同的特點和用法
    的頭像 發(fā)表于 12-11 10:40 ?1016次閱讀

    plsy指令具體用法

    、WAV等。下面將詳細(xì)介紹plsy的用法。 安裝: 在使用plsy之前,首先需要在Unix系統(tǒng)中安裝。你可以通過在終端上運行以下命令來安裝plsy: sudo apt-get inst
    的頭像 發(fā)表于 12-08 14:10 ?1918次閱讀

    oracle split函數(shù)用法舉例

    Split函數(shù)是Oracle中用于將一個字符串按照指定的分隔符進行拆分的函數(shù)。其語法為:SPLIT(字符串, 分隔符)。 下面我將詳細(xì)介紹Split函數(shù)的用法,并提供一些示例,以幫助你更好地了解
    的頭像 發(fā)表于 12-06 09:56 ?7412次閱讀

    oracle中substr函數(shù)用法

    字符串的源字符串,start_position是子字符串的起始位置,length是要提取的子字符串的長度(可選參數(shù))。 下面將詳細(xì)介紹SUBSTR函數(shù)的用法及示例。 基本用法 最簡單的用法是只指定源
    的頭像 發(fā)表于 12-05 16:57 ?1037次閱讀

    Pipeline中throwIt的用法

    字如其名,來看下Pipeline中throwIt的用法,是怎么個丟棄方式。
    的頭像 發(fā)表于 10-21 16:24 ?423次閱讀
    Pipeline中throwIt的<b class='flag-5'>用法</b>

    元組的基礎(chǔ)用法和進階用法

    元組是 Rust 語言中一種非常有用的數(shù)據(jù)結(jié)構(gòu),它可以將多個不同類型的值組合在一起。本教程將介紹元組的基礎(chǔ)用法和進階用法,并結(jié)合示例代碼進行講解。 元組是一種有序的數(shù)據(jù)集合,其中每個元素可以
    的頭像 發(fā)表于 09-30 16:49 ?765次閱讀