使Kubernetes更容易操作的11種工具
利用這些Kubernetes相關(guān)組件的優(yōu)勢(shì)來(lái)改善監(jiān)視,命令行操作,多集群管理等操作。
是,如果Kubernetes幫助我們管理了龐大而復(fù)雜的容器部署,那么有什么可以幫助我們管理Kubernetes的呢?它也可能是復(fù)雜,混亂且難以管理的。
隨著Kubernetes的發(fā)展壯大,毫無(wú)疑問(wèn),它的許多功能都將在用戶的項(xiàng)目?jī)?nèi)部得到使用。但是有些用戶并沒(méi)有等著Kubernetes變得更容易使用,他們已經(jīng)針對(duì)生產(chǎn)中Kubernetes的許多常見(jiàn)問(wèn)題推出了自己的解決方案。
Bitnami Cabin:適用于iOS和Android的Kubernetes儀表板
任何現(xiàn)代Web應(yīng)用程序或服務(wù)都不應(yīng)該沒(méi)有某種移動(dòng)界面。Cabin為Kubernetes管理員提供了一個(gè)Kubernetes的儀表板,可從iOS或Android智能手機(jī)上進(jìn)行訪問(wèn)。完整的Kubernetes儀表板中的許多功能都可以從Cabin中啟動(dòng),包括Helm圖表,縮放部署,讀取pod日志以及訪問(wèn)Kubernetes托管的基于Web的應(yīng)用程序。
Goldpinger:可視化Kubernetes集群
人類(lèi)是視覺(jué)生物。圖形和圖表使我們更容易理解全局。考慮到Kubernetes集群的范圍和復(fù)雜性,我們可以考慮使用圖形化的工具來(lái)表現(xiàn)kubernetes集群的結(jié)構(gòu)。彭博的技術(shù)部門(mén)開(kāi)源的這個(gè)有趣的工具,名字叫Goldpinger,它很簡(jiǎn)單,它在Kubernetes集群中運(yùn)行,并顯示節(jié)點(diǎn)之間關(guān)系的交互式地圖。健康的節(jié)點(diǎn)顯示為綠色,不健康的節(jié)點(diǎn)顯示為紅色。只需單擊一個(gè)節(jié)點(diǎn)以獲取詳細(xì)信息。您可以使用Swagger自定義API,以引入其他報(bào)告,指標(biāo)或其他集成。
K9s:全屏Kubernetes CLI UI
管理員喜歡“單一窗格”的實(shí)用程序。K9s是Kubernetes集群的全屏CLI UI。它使您可以快速查看正在運(yùn)行的Pod,日志和部署的視圖,并可以快速訪問(wèn)Shell。請(qǐng)注意,您將需要授予用戶Kubernetes在user和namespace級(jí)別的讀取權(quán)限,以使K9正常工作。
Kops:Kubernetes集群的命令行操作
Kops由Kubernetes團(tuán)隊(duì)開(kāi)發(fā),可讓您從命令行管理Kubernetes集群。它支持在AWS和GCE上運(yùn)行的集群,以及正在運(yùn)行的VMware vSphere和其他環(huán)境。除了自動(dòng)進(jìn)行設(shè)置和拆卸過(guò)程外,Kops還可以幫助進(jìn)行其他類(lèi)型的自動(dòng)化。例如,它可以生成Terraform配置,以允許使用Terraform重新部署群集。
Kubebox:Kubernetes的終端控制臺(tái)
Kubebox是Kubernetes的高級(jí)終端控制臺(tái),不僅為Kubernetes及其API提供了好看的外殼。它提供內(nèi)存和CPU利用率,窗格列表,運(yùn)行日志和配置編輯器的交互式顯示。最重要的是,它可以作為適用于Linux,Windows和MacOS的獨(dú)立應(yīng)用程序使用。
Kube-ps1:Smart Kubernetes命令提示符
不,Kube-ps1并不是適用于Kubernetes的第一代SonyPlayStation模擬器(盡管那很漂亮)。這是對(duì)Bash的簡(jiǎn)單補(bǔ)充,可在提示中顯示當(dāng)前的Kubernetes上下文和名稱空間。 Kube-shell包括此功能以及許多其他功能,但是如果您只想提供更智能的提示,Kube-ps1幾乎不會(huì)給您帶來(lái)任何開(kāi)銷(xiāo)。
Kube-prompt:交互式Kubernetes客戶端
對(duì)Kubernetes CLI的另一種最小但有用的修改,Kube-prompt允許您輸入相當(dāng)于與Kubernetes客戶端的交互式命令會(huì)話的內(nèi)容。Kube提示使您不必鍵入kubectl來(lái)為每個(gè)命令添加前綴,并為每個(gè)命令提供帶有上下文信息的自動(dòng)完成功能。
Kube-shell:Kubernetes CLI的Shell
Kubernetes命令行功能強(qiáng)大,但是與任何命令行應(yīng)用程序一樣,選擇其選項(xiàng)可能很繁瑣。 Kube-shell將標(biāo)準(zhǔn)的Kubernetes命令行包裝在一個(gè)集成的Shell中,該命令行提供自動(dòng)完成和自動(dòng)建議的常用命令,包括Kubernetes服務(wù)器提供的建議(例如,服務(wù)名稱)。它還為您提供了更強(qiáng)大的命令歷史記錄功能,vi風(fēng)格的編輯模式以及有關(guān)用戶,名稱空間,集群和其他特定于安裝的詳細(xì)信息的運(yùn)行上下文信息。
Kubespy:Kubernetes資源的實(shí)時(shí)監(jiān)控
Pulumi的Kubespy是一種診斷工具,可讓您實(shí)時(shí)跟蹤對(duì)Kubernetes資源的更改,從而為您提供了一種實(shí)時(shí)的文本視圖儀表板。例如,您可以在啟動(dòng)時(shí)查看Pod狀態(tài)的變化:將Pod定義寫(xiě)入Etcd,將Pod計(jì)劃在節(jié)點(diǎn)上運(yùn)行,在該節(jié)點(diǎn)上的Kubelet創(chuàng)建Pod,最后將Pod 標(biāo)記為正在運(yùn)行。Kubespy可以作為獨(dú)立的二進(jìn)制文件運(yùn)行,也可以作為Kubectl的插件運(yùn)行。
Kube-ops-view:多個(gè)Kubernetes集群的儀表板
Kubernetes有一個(gè)有用的儀表板,可用于通用監(jiān)控,但是Kubernetes社區(qū)正在嘗試其他方法,以向Kubernetes管理員有用地呈現(xiàn)數(shù)據(jù)。Kube-ops-view是這樣的一種實(shí)驗(yàn)。它提供了以圖形方式呈現(xiàn)的多個(gè)Kubernetes集群的概覽視圖,因此您可以一目了然地看到集群中整個(gè)CPU和內(nèi)存使用率以及Pod的狀態(tài)。請(qǐng)注意,它不允許您調(diào)用任何命令;僅用于可視化。但是,它提供的可視化效果驚人且高效,是為您的運(yùn)營(yíng)中心中的墻壁監(jiān)控器所生。
Stern和Kubetail:Kubernetes的日志工具
通過(guò)Stern,您可以從Kubernetes中的容器和容器中生成含有顏色編碼的輸出(按照tail命令)。這是一種將來(lái)自多個(gè)資源的所有輸出傳輸?shù)絾蝹€(gè)流中的快速方法,一目了然。同時(shí),您可以使用顏色一目了然地的進(jìn)行區(qū)分。 Kubetail同樣將來(lái)自多個(gè)Pod的日志聚合到單個(gè)流中,并對(duì)不同Pod和容器進(jìn)行顏色編碼。但是Kubetail是Bash腳本,因此只需要一個(gè)shell。