Kubernetes已經(jīng)成為一種部署大規(guī)模容器化應(yīng)用程序的標(biāo)準(zhǔn)方法(很多人都是這么認(rèn)為的)。但是,如果Kubernetes能幫我們馴服龐大而復(fù)雜的容器部署,那么有什么可以幫我們馴服Kubernetes?它也可能是復(fù)雜的,雜亂的,難以管理的。
隨著Kubernetes的發(fā)展和演變,人們可以從內(nèi)部來(lái)馴服它的無(wú)節(jié)制行為。但有些人并不情愿干等Kubernetes變得易于使用,并且為已投入生產(chǎn)的Kubernetes中遇到的很多常見(jiàn)問(wèn)題制定了自己的解決方案。
在這里,我們重點(diǎn)介紹10個(gè)項(xiàng)目,這些項(xiàng)目以各種方式簡(jiǎn)化Kubernetes,從簡(jiǎn)化命令行交互,簡(jiǎn)化應(yīng)用程序部署語(yǔ)法到與AWS的集成,乃至為多個(gè)集群提供渠道。
Bitnami Cabin:適用于iOS和安卓的Kubernetes儀表板
如果沒(méi)有某種移動(dòng)界面,現(xiàn)代的Web應(yīng)用程序或服務(wù)就不可能存在。Cabin為Kubernetes管理員提供可從iOS或安卓智能手機(jī)訪問(wèn)的Kubernetes儀表板版本。Kubernetes儀表板中的很多功能都可以從Cabin中啟動(dòng),包括Helm圖表,擴(kuò)展部署,閱讀pod(譯注:創(chuàng)建、調(diào)度和管理的最小部署單位)日志以及訪問(wèn)由Kubernetes托管的基于Web的應(yīng)用程序。
Kedge:簡(jiǎn)潔的Kubernetes部署定義
人們對(duì)Kubernetes最常見(jiàn)的抱怨是它的應(yīng)用程序定義太復(fù)雜和冗長(zhǎng)。它們很難寫(xiě),而且很難維護(hù),所以人們求助于第三方工具也就不足為奇了。Kedge提供更簡(jiǎn)單,更簡(jiǎn)潔的語(yǔ)法。你將Kubernetes定義文件的簡(jiǎn)單版本提供給Kedge,Kedge將其擴(kuò)展為成熟的Kubernetes對(duì)應(yīng)文件中。與Koki Short不同(見(jiàn)下文),Kedge不會(huì)對(duì)其聲明文件(declaration file)使用模塊化句法;它只是將應(yīng)用程序定義歸結(jié)為常用的快捷鍵。
Koki Short:可管理的Kubernetes清單文件(manifest)
Koki Short和上述的Kedge一樣是一個(gè)改進(jìn)應(yīng)用程序定義或清單文件在Kubernetes中的工作方式的項(xiàng)目。Short和Kedge一樣提供了一個(gè)用來(lái)描述Kubernetes pod的簡(jiǎn)短語(yǔ)法,它可以被翻譯成成熟的語(yǔ)法,然后再反譯為pod。與Kedge不同的是,Short也是模塊化的,這意味著來(lái)自一個(gè)Short聲明的細(xì)節(jié)可以在其它聲明中重復(fù)使用,這樣的話(huà),很多具有共同元素的pod就可以得到清晰的定義。
Kube-ps1:智能Kubernetes命令提示符
不,Kube-ps1并不是用于Kubernetes的第一代索尼PlayStation模擬器(雖然這個(gè)說(shuō)法相當(dāng)精彩)。這是對(duì)能顯示提示符中當(dāng)前的Kubernetes情境和名稱(chēng)空間的Bash的簡(jiǎn)單補(bǔ)充,。Kube-shell包含了很多其它的功能,但如果你想要的只是更智能的提示符,Kube-ps1可以花小錢(qián)辦大事。
Kube-prompt:交互式Kubernetes客戶(hù)端
對(duì)Kubernetes CLI的另一個(gè)最低限度但很有用的修改是,Kube-prompt可以讓你在Kubernetes客戶(hù)端輸入相當(dāng)于交互式命令會(huì)話(huà)的東西。Kube-prompt使你不必鍵入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中,該shell提供常見(jiàn)命令的自動(dòng)填充和自動(dòng)建議,包括由Kubernetes服務(wù)器提供的建議(例如服務(wù)名稱(chēng))。它還為你提供更強(qiáng)大的命令歷史記錄功能,vi式(譯注:vi-style,這里的vi應(yīng)該是指Linux的一種編輯器)的編輯模式以及運(yùn)行用戶(hù),名字空間,集群和其它安裝特有的細(xì)節(jié)的背景信息。
AWS的Kubernetes Ingress Controller
Kubernetes通過(guò)名為Ingress的服務(wù)向集群提供外部負(fù)載均衡和網(wǎng)絡(luò)服務(wù)。Amazon Web Services提供負(fù)載均衡功能,但它不會(huì)自動(dòng)將這些服務(wù)與Kubernetes的設(shè)施相連。用于AWS的Kubernetes Ingress控制器彌補(bǔ)了這一缺口。Ingress Controller自動(dòng)管理群集中每個(gè)Ingress對(duì)象的AWS資源,為新入口資源創(chuàng)建負(fù)載均衡器,刪除已刪資源的負(fù)載均衡器,并借助AWS CloudFormation確保群集的一致?tīng)顟B(tài)。它還能自動(dòng)管理集群中使用的其它元素,如SSL證書(shū)和EC2 Auto Scaling組。
Kube-ops-view:用于多個(gè)Kubernetes集群的儀表板
Kubernetes為通用監(jiān)控提供了一個(gè)有用的儀表板,但Kubernetes社區(qū)正在嘗試其它向Kubernetes管理員提供有用的數(shù)據(jù)的方法。Kube-ops-view就是這樣一個(gè)實(shí)驗(yàn);它以圖形方式呈現(xiàn)了多個(gè)Kubernetes集群的總體觀察窗口,因此你一眼就能了解集群中CPU和內(nèi)存的使用情況以及Pod的狀態(tài)。盡管如此,它不允許你調(diào)用任何命令。它嚴(yán)格地用于可視化。但它提供的可視化效果是驚人且高效的,它注定為成為你的運(yùn)營(yíng)中心的壁掛式顯示器而生。
Stern:記錄Kubernetes的tail命令
此Stern非彼Stern,也不具有紀(jì)律上的意義。Stern可以讓你根據(jù)Kubernetes中的pod和容器生成以不同顏色編碼的輸出(按照tail命令)。這是將這些資源的所有輸出都匯集到一個(gè)可以一眼看出的單一流中的快速方法,并讓你瞥見(jiàn)區(qū)分流的方法(顏色編碼)。
Teresa:Kubernetes上的一個(gè)簡(jiǎn)單的PaaS
Teresa是一種應(yīng)用程序部署系統(tǒng),它在Kubernetes上作為簡(jiǎn)單的PaaS運(yùn)行。組成團(tuán)隊(duì)的用戶(hù)可以部署和管理屬于他們的應(yīng)用程序。這使得使用特定應(yīng)用程序的人員可以更輕松地使用它,而無(wú)需直接與Kubernetes打交道。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。