十六種實用的Kubernetes Helm Charts工具
譯文【51CTO.com快譯】Helm是Kubernetes中非常實用的組件。為了避免為每個kube對象設置全新的環(huán)境、以及進行各種手動配置,您可以使用Helm和Helm Charts,來設置不同的Kubernetes模板,進而自動化90%的工作。當然,如果您對于Helm Charts的靈活性、及其強大的功能還不甚了了的話,請先參閱:https://dzone.com/articles/spotlight-on-helm。
憑借著龐大的開發(fā)者社區(qū),Helm如今已將其功能發(fā)揮到了***。各路開發(fā)人員持續(xù)地為Helm Charts開發(fā)出不同的增強工具、附加組件、以及插件,從而滿足了他們特定的項目需求。在此,我給您匯編了十六種***的Helm Charts工具,供你挑選和使用。
1. Helmfile
說到Helm Charts工具,我們就不能不提到Helmfile。它是由roboll(https://github.com/roboll)開發(fā)的,專為在部署Helm Charts時,處置聲明性規(guī)范的工具。因此,Helmfile可以根據(jù)各種應用或Web服務的特定需求,來協(xié)助簡化Kubernetes環(huán)境的配置。它的方式運行與下面將要提到的Autohelm類似。當然,您也可以去發(fā)掘它更多特有且實用的功能。
2. Landscaper
Landscaper允許您通過指定一組Helm Charts,來創(chuàng)建自己的應用程序環(huán)境,進而定制化地使用Helm。您唯一需要做的就是:明確地為Landscaper添加各種參數(shù)值的引用。而后續(xù)的工作則完全可以交給Landscaper自行完成。
3. Monocular
您想自行創(chuàng)建Helm Charts存儲庫嗎?如今,您不必再使用舊的方法、以及CLI命令行了。Monocular完全可以通過其Web版用戶界面,讓您輕松地設置并管理自己的存儲庫。
4. Autohelm
正如其名字所表示的那樣,Autohelm旨在自動化部署各種Helm Charts。Autohelm和其他同類工具的主要區(qū)別在于:它使用Python來實現(xiàn)各項工作。同時,Autohelm還支持將Git URL作為Helm Charts的各種資源。而且,通過使用該工具,您完全可以在幾分鐘之內完成社區(qū)Charts的部署。
5. Cabin
Cabin是一款有趣的工具。通過它,您可以在移動狀態(tài)下管理自己的Kubernetes Helm。因此,該工具實際上是一款移動應用,您可以籍此使用智能手機來管理各種Kubernetes Pod(莢)和節(jié)點。
6. Orca
Orca是我最喜歡的Helm Charts工具之一。該工具旨在讓用戶輕松地應對各種復雜的持續(xù)集成和持續(xù)交付(continuous integration and continuous delivery)。雖然Orca看起來像是一款外部的Helm替代品,但它實際上和其他工具一樣,只是Helm和Helm Charts的功能性補充。而且,它可以與下面將要介紹到的ChartMuseum一起使用。
7. ChartMuseum
ChartMuseum對于經(jīng)常用到Helm Charts存儲庫的開發(fā)人員來說,非常實用且方便。作為一個存儲庫,它被設計為能與各種流行的Kubernetes環(huán)境和服務進行協(xié)同工作。其中包括Microsoft Azure的Blob存儲和Oracle的云架構對象存儲。
8. Helmsman
Helmsman是一款旨在大幅簡化Helm Charts的創(chuàng)建、安裝、升級、遷移和刪除任務的工具。同時,它具有版本控制能力,能夠實現(xiàn)對各種目標狀態(tài)文件的管理。您可以在GitHub頁面上找到Helmsman的相關資源。
9. Helm-Backup
作為Helm Charts的一款常用必備工具,Helm-backup更像是一個附加組件,而并非獨立工具。它通過一個命名空間(namespace)來備份和還原Helm的不同發(fā)布版本。您可以使用Helm-backup來簡化整個過程,并省去了定期手動備份等麻煩。
10. Codefresh
Codefresh是一款面向CI/CD的工具,它旨在簡化Kubernetes的管理。雖然與Orca非常相似,但是它增加了基于Web的用戶界面和一些額外的工具。如今,Codefresh甚至能夠通過自己的儀表板,來管理Helm Charts及其各種發(fā)布。
11. Helm Diff
Helm Diff插件僅提供一種非常簡單卻具體的功能:用不同的顏色標識出Helm的各種升級版本。它讓用戶能夠輕松地管理手頭上的Kubernetes和Helm。通過使用該工具,您可以避免在升級過程中出現(xiàn)各種不必要的錯誤。
12. Helm-GCS
由于Kubernetes是由Google最初開發(fā)的,因此我們很容易從Google Cloud Services處找到能夠與Kubernetes及Helm協(xié)作的工具。Helm-GCS正是一款能夠方便您在GCS上使用Helm Charts的插件。
13. Replicated Ship
Replicated Ship簡化了用戶將Kustomize(https://github.com/kubernetes-sigs/kustomize)的各種補丁,升級并集成到Helm和Helm Charts的過程。另外,除了能被用于監(jiān)控目的,Replicated Ship還可以為您自動執(zhí)行各種更新和維護任務。
14. Helm-Secrets
Helm-Secrets插件通過保護各種密碼和訪問令牌,使得用戶的基礎設施既安全,又易于訪問。另外,該插件還提供了動態(tài)解密和清理等功能。
15. Keel.sh
Keel.sh也是為持續(xù)交付而設計的。它為您所使用的Helm和Helm Charts,添加了自動更新、以及大量其他的功能。
Flux Helm Operator能夠“嫻熟”地管理好Helm和Helm Chart的各種發(fā)布。該工具通過Kubernetes事件來監(jiān)控Custom Resources所發(fā)生的任何變化,并隨即采取相應的行動。它能夠按需安裝、升級或刪除Chart的某個發(fā)布版本。
毫無疑問,Helm在許多方面讓Kubernetes更加完善。而上述這些工具又進一步地在不同場景和用例中,補足了Helm和Helm Charts的集成。
原文標題:15+ Useful Helm Charts Tools,作者:Stefan Thorpe
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】