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