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