12項(xiàng)工具使Kubernetes更易用:可視化、監(jiān)視、命令行、多集群管理...
利用這些Kubernetes 工具的優(yōu)勢(shì)來(lái)改善監(jiān)視,命令行操作,多集群管理等。
Kubernetes已成為大規(guī)模部署容器化應(yīng)用程序的標(biāo)準(zhǔn)方法(許多人會(huì)說(shuō)是標(biāo)準(zhǔn)方法)。但是,如果Kubernetes幫助我們馴服了龐大而復(fù)雜的容器部署,那么有什么可以幫助我們馴服Kubernetes的呢?它也可能是復(fù)雜,混亂且難以管理的。
隨著Kubernetes的發(fā)展壯大,毫無(wú)疑問(wèn),它的許多問(wèn)題都將在項(xiàng)目?jī)?nèi)部得到馴服。但是有些用戶并沒(méi)有等著Kubernetes變得更容易使用,他們已經(jīng)針對(duì)生產(chǎn)中Kubernetes的許多常見(jiàn)問(wèn)題推出了自己的解決方案。
Goldpinger:可視化Kubernetes集群
人類(lèi)是視覺(jué)生物。圖形和圖表使我們更容易理解全局??紤]到Kubernetes集群的范圍和復(fù)雜性,可以使用可以獲得的所有視覺(jué)幫助。
彭博社的技術(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ì)信息??梢允褂肧wagger自定義API,以引入其他報(bào)告,指標(biāo)或其他集成。
K9s:全屏Kubernetes CLI UI
管理員喜歡“單一窗格”實(shí)用程序。K9s是Kubernetes集群的全屏CLI UI。它可以快速查看正在運(yùn)行的Pod,日志和部署的視圖,并可以快速訪問(wèn)Shell。請(qǐng)注意,將需要授予用戶Kubernetes在用戶和名稱(chēng)空間級(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提供了shell。它提供內(nèi)存和CPU利用率,窗格列表,運(yùn)行日志和配置編輯器的交互式顯示。最重要的是,它可以作為適用于Linux,Windows和MacOS的獨(dú)立應(yīng)用程序使用。
Kube-applier
作為Kubernetes服務(wù)運(yùn)行,Kube應(yīng)用程序從Git存儲(chǔ)庫(kù)中獲取Kubernetes集群的聲明性配置文件,并將其應(yīng)用于集群中的Pod。每當(dāng)對(duì)定義文件進(jìn)行更改時(shí),都會(huì)將它們從存儲(chǔ)庫(kù)中提取并應(yīng)用于相關(guān)的廣告連播。本質(zhì)上,適用于Kube的應(yīng)用程序類(lèi)似于Google的Skaffold,但它用于管理整個(gè)Kubernetes集群而不是單個(gè)應(yīng)用程序。
Kube-applier可以按計(jì)劃或按需應(yīng)用配置更改。它會(huì)在每次運(yùn)行時(shí)記錄其行為,并提供與Prometheus兼容的指標(biāo),因此您不必?fù)?dān)心它如何影響集群行為。
Kube-ps1:Smart Kubernetes命令提示符
不,Kube-ps1并不是適用于Kubernetes的第一代Sony PlayStation模擬器(盡管那很漂亮)。這是對(duì)Bash的簡(jiǎn)單補(bǔ)充,可在提示中顯示當(dāng)前的Kubernetes上下文和名稱(chēng)空間。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)完成功能。
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)行。
Kubeval:驗(yàn)證Kubernetes配置
Kubernetes的YAML配置文件本來(lái)應(yīng)該是人類(lèi)可讀的,但這并不總是意味著它們可以被人類(lèi)驗(yàn)證。很容易錯(cuò)過(guò)逗號(hào)或胖手指的名字,直到為時(shí)已晚才發(fā)現(xiàn)它。最好使用Kubeval。Kubeval在本地使用或集成到CI/CD流水線中,接受Kubernetes YAML配置定義并報(bào)告其有效性。它可以產(chǎn)生JSON或TAP格式的輸出,甚至可以解析Helm圖表配置中引用的源模板,而無(wú)需其他提示。
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)控所生。
Rio:Kubernetes的應(yīng)用程序部署引擎
Rio是Rancher Labs的一個(gè)項(xiàng)目,它在Kubernetes中實(shí)現(xiàn)了常見(jiàn)的應(yīng)用程序部署模式,例如從Git和A/B持續(xù)交付或藍(lán)/綠部署。每次提交提交時(shí),Rio都可以部署新版本的應(yīng)用程序,從而有助于管理DNS,HTTPS和服務(wù)網(wǎng)格等復(fù)雜性。
Stern和Kubetail:Kubernetes的日志尾礦
通過(guò)Stern,可以從Kubernetes中的容器和容器中生成顏色編碼的輸出(按照tail命令)。這是一種將來(lái)自多個(gè)資源的所有輸出傳輸?shù)絾蝹€(gè)流中的快速方法,一目了然。同時(shí),可以一目了然地(顏色編碼)來(lái)區(qū)分流。
Kubetail同樣將來(lái)自多個(gè)Pod的日志聚合到單個(gè)流中,并對(duì)不同Pod和容器進(jìn)行顏色編碼。但是Kubetail是Bash腳本,因此只需要一個(gè)shell。
原文鏈接:
https://www.infoworld.com/article/3488817/12-tools-that-make-kubernetes-easier.html?upd=1589158786123