Kubectl-Ice: 一款超強(qiáng)大的 Kubernetes Pod 資源終端管理工具
作者:Marionxue
本期介紹一個(gè)實(shí)用的Kubectl插件kubectl-ice,可以讓你快速地查看POD中容器正在運(yùn)行的配置信息。
你可以查看所有POD內(nèi)容器鏡像的拉取策略、掛載卷、端口以及可執(zhí)行配置等信息,同時(shí)結(jié)合metrics server你也可以查看容器運(yùn)行的CPU和內(nèi)存等相關(guān)指標(biāo)信息。
功能
- 僅使用讀取權(quán)限,不會(huì)調(diào)用寫操作
- 默認(rèn)會(huì)列舉出當(dāng)前集群下命名空間內(nèi)所有pod中的容器相關(guān)配置,kubectl-ice基本支持所有kubectl的選項(xiàng)參數(shù);例如指定-A指定所有命令空間下的pod中的所有容器。
- 支持選擇器,與在kubectl中的使用方式類似
- 支持對(duì)輸出的內(nèi)容進(jìn)行排序
- 用match標(biāo)志從輸出中排除行,這對(duì)于排除內(nèi)存或cpu使用率低的容器很有用。Exclude rows from output using the match flag, useful to exclude containers with low memory or cpu usage
- 使用oddity標(biāo)志只列出不在范圍內(nèi)的cpu和內(nèi)存結(jié)果。List only cpu and memory results that dont fall within range using the oddities flag
安裝
安裝比較簡單,可以通過kubectl插件管理器krew[1]安裝,也可以通過下載二進(jìn)制[2]包進(jìn)行安裝,或者不嫌麻煩源碼直接安裝
- krew安裝
$ kubectl krew install ice
- 源碼安裝
$ git clone https://github.com/NimbleArchitect/kubectl-ice.git
$ cd kubectl-ice
$ make bin
使用幫助
kubectl-ice command # 檢索在容器級(jí)別指定的命令行和任何參數(shù)
kubectl-ice cpu # 返回CPU請求的大小,限制和每個(gè)容器的使用
kubectl-ice help # 顯示幫助信息
kubectl-ice image # 列出每個(gè)容器的鏡像以及鏡像的拉取策略
kubectl-ice ip # 列出名稱空間中所有pods的IP地址
kubectl-ice memory # 返回每個(gè)容器的內(nèi)存請求大小、限制和使用情況
kubectl-ice ports # 顯示pod內(nèi)容器暴露的端口
kubectl-ice probes # 顯示每個(gè)容器配置的啟動(dòng)、就緒和活動(dòng)探針的詳細(xì)信息
kubectl-ice restarts # 顯示pod中每個(gè)容器的重啟計(jì)數(shù)
kubectl-ice status # 列出pod中每個(gè)容器的狀態(tài)
kubectl-ice volumes # 列出所有具有掛載點(diǎn)的容器卷
使用案例
基礎(chǔ)
- 顯示指定pod內(nèi)容器的內(nèi)存指標(biāo)信息(T: type,其值有I/init容器,S/standard標(biāo)準(zhǔn)容器)
$ kubectl-ice memory resource-test-6c6f556b4f-lmngp
T CONTAINER USED REQUEST LIMIT %REQ %LIMIT
S resource 101.18Mi 500Mi 1Gi 20.24 9.88
- 可結(jié)合標(biāo)簽使用
kubectl-ice probes
- 檢查容器狀態(tài)(以及之前的狀態(tài))
kubectl-ice status
- 顯示pod內(nèi)容器鏡像的拉取策略
- 顯示pod內(nèi)容器暴露的端口以及掛載卷信息
- 使用選擇器,同時(shí)可以使用--sort進(jìn)行排序,注意!的使用,表示倒序
kubectl-ice select --sort
- 更多使用幫助信息可以參考官方說明[3]
- 更多使用案例可以參考官方說明[4]
責(zé)任編輯:龐桂玉
來源:
奇妙的Linux世界