推薦幾個krew的效率插件
kubectl別名
這個并不是krew插件,不過我們可以利用alias將常見的kubectl組合命令精簡成簡單的別名。GitHub上有個kubectl-aliases項目,上面有很多精簡的別名,雖然可以通過tab命令補全,不過能記住它們并不是容易的事。小白簡單提取一部分,將它貼在~/.bashrc就可以使用啦。
alias k=kubectl
alias kg='kubectl config get-contexts'
alias ksg='kubectl config use-context'
alias keti='k exec -ti'
alias kg='k get'
alias kg='k describe'
alias kdel='k delete'
alias kl='k log -f'
更多的別名玩法,大家按照自己使用shell的習慣自行修改即可
ns 插件
ns是一個可以在kubernetes集群里面切換命名空間的插件。你是否厭煩了每次敲kubectl命令時都要加上-n
的參數,又不想在config里面維護大量context。那么ns插件就是來解救你的,它會在切換命名空間時修改當前config里面的context到當前命名空間,這樣你就不用再加-n參數了。
安裝:
k krew install ns
演示:

mtail 插件
mtail允許你通過
的方式在當前命名空間內同時查看pod的日志,這個對于需要在多個實例里面同時的實時觀察日志并過濾來說十分方便。mtail支持如下功能:
指定一個或者多個
label-selector匹配pod輸出日志可以指定pod中的container名稱輸出日志
根據pod名稱標記不同的顏色展示日志
安裝:
k krew install mtail
演示:

images 插件
images插件允許你查看當前命名空間(甚至整個集群)Workload中使用的鏡像信息。這個對運維的同學來說比較友好,可以節(jié)省大部分descript pod的操作。當前支持幾個功能如下:
列出所有命名空間workload的鏡像信息
指定字段展示鏡像的關聯(lián)k8s信息
指定單獨的命名空間展示鏡像信息
安裝:
k krew install images
演示:

view-secret 插件
大部分情況下,我們secret里面的信息會事先經過base64編碼后存儲。當我們需要從secret里面讀取內容在做decode,有時也不免糟心。比如我們想從secret里面取SA的token,雖然我們可以用jsonpath | decode拿到信息
kubectl get secret
-o=jsonpath='{.data.token}' |base64 -d
但是我們的目標能少打命令絕不多敲一個字母。那么這個時候view-secret就可以幫助到我們。
安裝:
k krew install view-secret
演示:

view-allocations 插件
對于想快速知道當前你的kubernetes集群資源分布情況,view-allocations這個插件它一定能夠幫助。view-allocations當前能夠根據resource,node和pod三個維度展示集群當前的資源分配狀況。值得一提的是如果你的kubernetes集群有GPU節(jié)點,采用view-allocations也可以快速查到你的GPU顯卡分配狀態(tài)
...
Resource Requested %Requested Limit %Limit Allocatable Free
nvidia.com/gpu 14.0 70% 14.0 70% 20.0 6.0
├─ node1 4.0 100% 4.0 100% 4.0 0.0
├─ node2 3.0 75% 3.0 75% 4.0 1.0
├─ node3 0.0 0% 0.0 0% 4.0 4.0
├─ node4 4.0 100% 4.0 100% 4.0 0.0
└─ node5 3.0 75% 3.0 75% 4.0 1.0
...
總結
當前Krew上有多達120多個插件,里面的插件品質也良莠不齊,不過合理的使用插件讓自己操作更加絲滑未嘗不是一件美事,畢竟哪個男孩不想自己用kubectl拯救世界呢?


你可能還喜歡
點擊下方圖片即可閱讀

云原生是一種信仰 ?

掃碼關注公眾號
后臺回復?k8s?獲取史上最方便快捷的 Kubernetes 高可用部署工具,只需一條命令,連 ssh 都不需要!

點擊 "閱讀原文" 獲取更好的閱讀體驗!
??給個「在看」,是對我最大的支持??

