值得了解的高效K8S命令行管理工具
在容器云日益普遍的今天,每個人現(xiàn)在都在用K8S編排容器集群,構(gòu)建自己的基礎架構(gòu)。然而WEB面板界面和繁瑣重復的kubectl命令可能正在困擾著我們每一個人。
事實上這個問題不光是我們的問題,也困擾了很多大牛,所以他們又造出很多有用的輪子來減輕我們的負擔。本文蟲蟲就給大家介紹幾個可以提高K8S效率的命令行工具。
Lens
Lens是用于監(jiān)控和調(diào)試的K8S IDE??梢栽赪indows、Linux以及Mac桌面上完美運行。如果你想舒舒服服地發(fā)展? 在 Kubernetes 上:
可以使用Snap包管理器安裝:
- sudo snap install Lens-{version}.amd64.snap --dangerous --classic
- 托管地址:github/lensapp/lens
- 開發(fā)語言:TypeScript
- 項目熱度(星):16100
K9S
K9S提供一個來與K8S集群交互的終端UI??梢灶惐葹獒槍8S集群的Top命令。 K9S就像一個看門狗,讓你時刻可以輕松列出、觀察和管理集群中各個應用程序。
K8S集群中資源的變化是實時出現(xiàn)的。用顯示當前的這些信息非常有用。
可以使用Homebrew安裝:
- brew install k9s
- 托管地址:github/derailed/k9s
- 開發(fā)語言:Golang
- 項目熱度(星):14000
Kubetree
一個應用程序可以有很多不同的資源,它們的映射總是顯而易見的。 Kubetree可以用來顯示K8S對象之間的所有權關系的插件:
可以使用Homebrew安裝:
- kubectl krew install tree
- 托管地址:github/ ahmetb/kubectl-tree
- 開發(fā)語言:Shell
- 項目熱度(星):1900
kubetail
kubetail將來自多個pod的日志聚合到一個流中。它的效果類似于對多個pods運行kubectl logs -f。
可以在pod中指定容器:
- kubetail app2 -c container1
- kubectail app2 -c container1 -c container2
可以使用Homebrew安裝:
- brew tap johanhaleby/kubetail && brew install kubetail
- 托管地址:github/johanhaleby/kubetail
- 開發(fā)語言:Golang
- 項目熱度(星):2400
Kube-shell
在使用kubectl命令時候很多繁瑣的選項不好記憶,容易記錯,如果在輸入命令時候能自動提示和補全則會非常有效。kube-shell是Kubernetes CLI的集成shell。它提供了易于使用的kubectl以提高生產(chǎn)力:
安裝非常簡單:
- pip install kube-shell
即可。
- 托管地址:github/cloudnativelabs/kube-shell
- 開發(fā)語言:Python
- 項目熱度(星):2000
Kubectx-Kubens
對于管理多個K8S集群的伙伴, kubectx可以幫助在集群之間無縫切換:
kubectx獲取集群相關信息時,常常需要在kubectl命令中指定命名空間。而kuben則允許我們可以省略該參數(shù)。
可以使用Homebrew安裝:
- brew install kubectx
- 托管地址:github/ ahmetb/kubectx
- 開發(fā)語言:Golang
- 項目熱度(星):11600
Kube-Capacity
kube-capacity是一個簡單的CLI,提供了Kubernetes集群中資源請求、限制和使用的概況。
檢查集群節(jié)點:
加--pods查看Pods信息:
可以使用Homebrew安裝:
- brew tap robscott/tap
- brew install robscott/tap/kube-capacity
- 托管地址:github/ robscott/kube-capacity
- 開發(fā)語言:golang
- 項目熱度(星):767
結(jié)論
本文給大家介紹了幾個可以提高K8S集群管理的工具,當然這只是局限于個人觀點,起個拋磚引玉的作用。如果大家有自己珍藏得更好更有用的工具,也請不吝回復供大家一起學習。