Kube-capacity CLI 檢視 Kubernetes技巧
導讀 | Kube-capacity 是一個簡單而強大的 CLI,它提供了Kubernetes叢集中資源請求、限制和利用率的概覽。它將輸出的最佳部分結合kubectl top到kubectl describe一個易於使用的集中於叢集資源的 CLI 中。 |
不過像這樣的工具確實好用一些,比如我想看這個kube-system下有哪些pod有沒有設定request和limit的時候,實際上,我需要輸入一段很長的 才能列出,而且需要一些除錯,這看起來不是特別方便。
# kubectl get pod -n kube-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 NAME NAMESPACE PHASE Request-cpu Request-memory Limit-cpu Limit-memory calico-kube-controllers-7d4c6544cc-g6x6q kube-system Running <none> <none> <none> <none> calico-node-4fjn8 kube-system Running 250m <none> <none> <none> calico-node-7nbpj kube-system Running 250m <none> <none> <none> calico-node-qvdlr kube-system Running 250m <none> <none> <none> coredns-7977f69688-4nz9q kube-system Running 100m 70Mi <none> 170Mi coredns-7977f69688-frkt5 kube-system Running 100m 70Mi <none> 170Mi etcd-k8s-master1 kube-system Running 100m 100Mi <none> <none> etcd-k8s-master2 kube-system Running 100m 100Mi <none> <none> etcd-k8s-master3 kube-system Running 100m 100Mi <none> <none> kube-apiserver-k8s-master1 kube-system Running 250m <none> <none> <none>
那麼這個工具實際上解決的問題就是幫助我們快速檢視概覽整個叢集和pod的資源配置情況。
Go 二進位制檔案由GoReleaser隨每個版本自動構建。這些可以在此專案的 GitHub釋出頁面上訪問。
- ithub.com/robscott/kube-capacity/releases
這個專案可以用Homebrew安裝:
brew tap robscott/tap brew install robscott/tap/kube-capacity
這個專案可以用Krew安裝:
kubectl krew install resource-capacity
預設情況下,kube-capacity 將輸出一個節點列表,其中包含 CPU 和記憶體資源請求的總數以及在它們上執行的所有 pod 的限制。對於具有多個節點的叢集,第一行還將包括叢集範圍的總數。該輸出將如下所示:
對於更詳細的輸出,kube-capacity 可以在輸出中包含 pod。當-p或--pods被傳遞給 kube-capacity 時,它將包含如下所示的特定於 pod 的輸出
為了幫助瞭解資源利用率與配置的請求和限制的比較,kube-capacity 可以在輸出中包含利用率指標。請務必注意,此輸出依賴於叢集中的metrics-server正常執行。當-u或--util被傳遞給 kube-capacity 時,它將包含如下所示的資源利用率資訊:
對於更詳細的輸出,kube-capacity 可以在輸出中包含 pod 和資源利用率。當--util和--pods傳遞給 kube-capacity 時,它將產生如下所示的寬輸出:
值得注意的是,來自 pod 的利用率數字可能不會與總節點利用率相加。與節點和叢集級別數字代表 pod 值總和的請求和限制數字不同,節點指標直接來自指標伺服器,並且可能包括其他形式的資源利用率。
要突出顯示具有最高指標的節點、pod 和容器,您可以按各種列進行排序:
要顯示每個節點和整個叢集的 pod 數量,可以透過--pod-count引數:
對於更高階的使用,kube-capacity 還支援按 pod、名稱空間和/或節點標籤進行過濾。以下示例展示瞭如何使用這些過濾器:
kube-capacity --pod-labels app=nginx kube-capacity --namespace 預設 kube-capacity --namespace-labels team=api kube-capacity --node-labels kubernetes.io/role=node
預設情況下,kube-capacity 將以表格格式提供輸出。要以 JSON 或 YAML 格式檢視此資料,可以使用輸出標誌。以下是一些示例 :
kube-capacity --pods --output json kube-capacity --pods --containers --util --output yaml
支援的標誌
任何請求叢集利用率的命令都依賴於叢集上執行的metrics-server。如果尚未安裝,您可以使用官方helm chart進行安裝。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2906104/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何檢視Vue CLI中webpack的預設配置VueWeb
- 開源Mizu可以檢視Kubernetes API流量API
- dwg檢視器使用技巧(方便好用的dwg檢視器推薦 )
- Linux檢視歷史記錄小技巧Linux
- Mac小技巧 快速檢視指定應用程式的所有視窗Mac
- Grafana 系列文章(十三):如何用 Loki 收集檢視 Kubernetes EventsGrafanaLoki
- 如何使用SQL查詢檢視,Postico使用技巧分享~SQL
- 《Microsoft Word》進階技巧:如何設定文件檢視ROS
- Kubernetes:健康檢查
- MySQL 變數及效能狀態檢視知識技巧MySql變數
- Mac電腦技巧:檢視macOS中的GPU使用教程MacGPU
- 傲視Kubernetes(一):Kubernetes簡介
- 蘋果|技巧:macOS在Finder中檢視資料夾大小?蘋果Mac
- 傲視Kubernetes(三):Kubernetes中的Pod
- 11 UML中的邏輯檢視、程序檢視、實現檢視、部署檢視
- [Django REST framework - 檢視元件之檢視基類、檢視擴充套件類、檢視子類、檢視集]DjangoRESTFramework元件套件
- VMware Tanzu CLI 1.5.0 - VMware Kubernetes 發新版的命令列工具命令列
- kubernetes實戰篇之helm使用技巧
- ASP.NET Core 5.0 MVC中的檢視分類——佈局檢視、啟動檢視、具體檢視、分部檢視ASP.NETMVC
- Linux技巧--檢視檔案及資料夾佔用空間大小Linux
- Linux 中檢視已安裝的磁碟驅動器清單技巧Linux
- Kubernetes-POD的健康檢查
- iOS除錯小技巧,在殺死程式怎麼檢視NSLog資訊iOS除錯
- kubernetes實踐之六十三:使用技巧
- drf : 通用檢視類和(GenericAPIView)5個檢視擴充套件類,九個檢視子類,檢視集。APIView套件
- 百度網盤資料夾大小怎麼檢視?百度網盤檢視某個資料夾大小的技巧
- 『手撕Vue-CLI』編碼規範檢查Vue
- MYSQL 檢視MySql
- 檢視助手
- 物化檢視
- 09檢視
- 檢視層
- gc 檢視GC
- Oracle普通檢視和物化檢視的區別Oracle
- Django檢視之檢視類和中介軟體Django
- day04-檢視和檢視解析器
- 【Git系列教程-8】Pycharm將遠端倉庫如碼雲或Github程式碼克隆下來並迭代檢視 | 檢視提交的個個版本程式碼 | 碼雲上程式碼檢視技巧PyCharmGithub
- 掌握 Kubernetes 故障排除技巧:kubectl命令的基本指南