利用這些Kubernetes輔助工具來簡化應用程序定義,增強監控,簡化云部署等。
Kubernetes已成為一種大規模部署容器化應用程序的標準。但是,如果Kubernetes幫助我們馴服龐大而復雜的容器部署,那么有什么可以幫助我們馴服Kubernetes? 它也可能很復雜,令人困惑,也很難管理。
隨著Kubernetes的成長和發展,它的一些過度行為很可能會逐步完善。但有些人并沒有等待Kubernetes更容易使用,已經將自己的解決方案用于生產環境中Kubernetes碰到的許多常見問題。
在這里,我們重點介紹22個開源項目和第三方工具,它們以各種方式簡化Kubernetes,從簡化命令行交互到簡化應用程序部署語法,再到與AWS集成,為多個集群提供服務。
1. Bitnami Cabin:適用于iOS和Android的Kubernetes儀表板
現代的Web應用程序或服務怎么能沒有某種移動界面。Cabin為Kubernetes管理員提供了可從iOS或Android智能手機訪問的Kubernetes儀表板版本。完整的Kubernetes儀表板中提供的許多功能都可以從Cabin啟動,包括Helm圖表,擴展部署,讀取pod日志以及訪問Kubernetes托管的基于Web的應用程序。
2. Goldpinger:可視化Kubernetes集群
人類是視覺生物。圖形和圖表使我們更容易理解全局。考慮到Kubernetes集群的范圍和復雜性,可以使用我們可以獲得的所有視覺協助。
由Bloomberg技術部門開源的名字有趣Goldpinger,是一個在Kubernetes集群內運行的簡單工具,它顯示了節點之間關系的交互式地圖。健康節點以綠色顯示,不健康節點以紅色顯示。只需單擊節點即可獲取詳細信息。你可以使用Swagger自定義API,以進行其他報告,指標或其他集成。
3. Gravity:便攜式Kubernetes集群
如果你想將應用程序部署到Kubernetes,許多應用程序都會使用Helm圖表來指導和自動化該過程。但是,如果你想按原樣使用Kubernetes集群并將其部署到某個地方呢?
Gravity獲取Kubernetes集群及其容器注冊表及其運行應用程序(稱為“應用程序包”)的快照。程序包只是一個.tar文件,可以在Kubernetes運行的任何地方復制集群。
Gravity還確保目標基礎結構可以支持與源相同的行為要求,并且目標上的Kubernetes運行時也可以滿足要求。Gravity的企業版增加了安全功能,包括基于角色的訪問控制,以及跨多個集群部署同步安全配置的能力。
4. K9s:全屏Kubernetes CLI UI
管理員喜歡“單一屏幕”實用程序。K9s是Kubernetes集群的全屏CLI UI。它一目了然地為你提供了運行pod,日志和部署的視圖,以及對shell的快速訪問。請注意,你需要在用戶和命名空間級別授予用戶Kubernetes讀取權限,以使K9正常工作。
5. Kaniko:在Kubernetes集群中構建容器
大多數容器鏡像都構建在容器堆棧外部的系統上。但有時,你希望在容器堆棧中執行構建過程,例如,在正在運行的容器內或Kubernetes集群上的某個位置。
Kaniko在容器環境中執行容器構建,但不依賴像Docker這樣的容器守護進程來完成其工作。Kaniko獲取基本鏡像,提取文件系統,然后在提取的文件系統頂部的用戶空間中執行所有構建命令,在每個命令之后獲取文件系統的快照。
請注意,Kaniko目前無法構建Windows容器。
6. Kedge:簡明的Kubernetes部署定義
關于Kubernetes最常見的抱怨是它的清單或應用程序定義有多復雜和冗長。他們寫作很痛苦,維持著痛苦,所以人們不得不求助于第三方工具來解決問題。
Kedge提供了更簡單,更簡潔的語法。您向Kedge提供了Kubernetes定義文件的簡單版本,免備案主機,Kedge將這個簡單的定義擴展為其完整的Kubernetes版本。與Koki Short(見下文)不同,Kedge的聲明文件不使用模塊化語法;它只是將應用程序定義歸結為常見的快捷方式。
請注意,Kedge的最后一個版本是在2018年4月。
7. Koki Short:可管理的Kubernetes清單
Koki Short像上面的Kedge,是一個改進應用程序定義或表現方式在Kubernetes中工作的項目。與Kedge定義一樣,Koki Short使用縮寫語法來描述Kubernetes pod,它可以轉換為完整的語法,然后再轉換回來。與Kedge定義不同,Koki Short也是模塊化的,這意味著來自一個Short聲明的細節可以在其他聲明中重復使用,因此可以簡潔地定義許多具有共同元素的pod。
8. Kops:Kubernetes集群的命令行操作
Kops由Kubernetes團隊開發,允許你從命令行管理Kubernetes集群。它支持在AWS和GCE上運行的集群,VMware vSphere和其他環境正在開發中。除了自動化設置和拆卸過程外,Kops還可以幫助實現其他類型的自動化。例如,它可以生成Terraform配置以允許使用Terraform重新部署集群。
9. Kubebox:Kubernetes的終端控制臺