GitHub上的 50個Kubernetes DevOps工具
Kubernetes是一個流行的容器編排系統,能自動化地進行應用部署、伸縮和管理。它是目前可用的最流行的容器解決方案之一。
下面列舉了一系列DevOps工具,能幫助你充分利用Kubernetes的能力。
集群部署工具
1、Amazon EKS
Amazon Elastic Container Service是一個Kubernetes DevOps工具,它允許用戶管理和擴展他們的容器化應用程序,并使用Kubernetes簡化部署。Amazon EKS可以運行Kubernetes,而無需在你自己的Kubernetes上操作。Amazon EKS與運行在上游Kubernetes上的現有應用程序兼容。
鏈接:https://aws.amazon.com/cn/eks/
Issues:https://github.com/awslabs/amazon-eks-ami/issues
評價:Amazon EKS具有靈活的布局并減少了維護開銷。這允許組織將其重點從設置Kubernetes集群轉移到構建應用程序上來。當前用戶反饋,學習Amazon EKS需要一個調整過程。Amazon EKS適合推薦給這些AWS云用戶,他們希望運行Kubernetes,而不想在Kubernetes中操作自己的控制平面。
資源:
-
https://github.com/aws-quickstart/quickstart-amazon-eks
-
https://bekitzur.com/blog/amazon-eks/
-
https://www.g2.com/products/amazon-elastic-kubernetes-service-amazon-eks/reviews
2、Kubespray
Kubespray是一個基于Ansible的工具,它部署可用于生產的集群。因為Kubespray擁有一個開放的開發模型,所以任何人都可以很容易地學習如何使用Kubespray。對于那些已經了解Ansible的人來說,這個工具是個不錯的選擇。
鏈接:https://kubespray.io
Issues:https://github.com/kubernetes-sigs/kubespray/issues
評價:對于那些熟悉Ansible的人來說,Kubespray是一個很好的工具。它使用單個命令運行,大大降低了編排集群的難度。它也易于使用,推薦給那些沒有互聯網連接問題的用戶,建議在裸機上運行。
資源:
-
https://github.com/kubernetes-sigs/kubespray
-
https://jaxenter.com/kubernetes-kubespray-deployment-156836.html
-
https://beyondthekube.com/tag/kubespray/
3、Conjure-up
Conjure-up允許用戶重新使用他們的大軟件,而不是學習如何通過幾個簡單的命令和最小的麻煩來部署它。Conjure-up支持本地主機部署、AWS、bare metal、Azure、VMware、Joynet和OpenStack。
鏈接:https://conjure-up.io/
Issues:
-
https://github.com/conjure-up/conjure-up/issues
-
https://askubuntu.com/questions/tagged/conjure-up
評價:Conjure-up易于使用,允許用戶以最少的問題部署他們的應用程序。但是,對于那些啟用了IPv6又不想禁用它的用戶,我們不建議這樣做。在使用之前,請確保你滿足了硬件需求。
資源:
-
https://github.com/conjure-up/conjure-up/wiki
-
https://docs.conjure-up.io/stable/en/
4、Minikube
對于那些處于Kubernetes的探索階段的人來說,Minikube是一個很好的起點。通過在用戶筆記本上的VM中運行單節點Kubernetes集群,該工具允許用戶輕松地在本地運行Kubernetes。在OSX、Windows和Linux上都支持Minikube。
鏈接:https://kubernetes.io/docs/setup/minikube/
Issues:
-
https://kubernetes.io/docs/tasks/tools/#known-issues
-
https://github.com/kubernetes/minikube/issues
評價:Minikube很受歡迎,因為它在本地運行Kubernetes。這是操作Kubernetes集群最推薦的工具。然而,Minikube不推薦給那些處于DevOps SRE角色的人。
資源:https://kubedex.com/local-kubernetes/
5、Juju
如果你正在尋找一種開源的應用程序建模工具,請查看Juju。Juju允許用戶輕松地部署、配置、縮放和操作他們的軟件。它在公有云和私有云(如微軟Azure、亞馬遜AWS和谷歌GCE)上都得到支持。
鏈接:https://jujucharms.com/
Issues:https://www.g2.com/products/canonical-juju/reviews
評價:Juju用戶喜歡開放式平臺和以客戶為中心的支持。它也易于安裝、實現和維護。然而,一些用戶覺得它的云解決方案仍然很復雜。盡管如此,許多人仍然認為它比其他選擇更好。
資源:https://old-docs.jujucharms.com/2.5/en/getting-started
6、Kubeadm
Kubeadm為用戶提供了使用單個命令創建Kubernetes集群的最佳實踐“快速路徑”。使用這個工具,你可以在現有的基礎設施上引導集群。Kubeadm符合Kubernetes的認證指南。
鏈接:https://kubernetes.io/docs/reference/setup-tools/kubeadm/
Issues:https://github.com/kubernetes/kubeadm/issues
評價:Kubdeam是熟練用戶和/或首次用戶部署集群的優秀工具。然而,配置軟件和網絡設置超出了Kubeadms的范圍。相反,它的作用域旨在成為高級工具的可組合構建塊。
資源:https://thenewstack.io/kubernetes-now-does-self-hosting-with-kubeadm/
7、SimpleKube
SimpleKube是另一個對初次使用Kubernetes的用戶友好的工具。你可以在Linux服務器上部署單個Kubernetes集群,而無需集成任何云提供商。SimpleKube將所有Kubernetes安裝到服務器本身。
鏈接:https://github.com/valentin2105/Simplekube
Issues:https://github.com/valentin2105/Simplekube/issues
評價:SimpleKube對于那些想要嘗試Kubernetes的人來說是很棒的。但是,它不像Minikube那樣,Kubernetes集群運行在VM上。相反,它將Kubernetes安裝到服務器本身上,這允許你啟動腳本并在Kubernetes集群中工作。
8、Kops
Kops是一個AWS支持的工具,用于管理生產級Kubernetes集群。Kops使用聲明式配置將基礎結構更改應用到現有集群。AWS通常使用Kops來實現Kubernetes的自動化。
鏈接:https://kubernetes.io/docs/setup/custom-cloud/kops/
Issues:https://github.com/kubernetes/kops/issues
評價:Kops用戶經常說它與AWS一起工作得很好。但是,請注意,Kops確實缺少用于節點配置的安裝前/安裝后鉤子。Kops做了很多,但它不能做所有的事情。在使用之前確保它滿足了你的需要。
資源:
-
https://github.com/kubernetes/kops
-
https://cloudacademy.com/blog/kubernetes-operations-with-kops/
-
https://www.patricia-anong.com/blog/2018/8/kubernetes-in-aws-using-kops
9、Kubernetes on AWS(Kube-AWS)
Kube-AWS,也稱為Kubernetes孵化器,使用AWS CloudFormation提供生產環境的Kubernetes集群。通過使用Kube-AWS,你可以部署傳統的Kubernetes集群,并以可定制的方式提供這些集群。
鏈接:https://github.com/kubernetes-retired/kube-aws
Issues:https://github.com/kubernetes-retired/kube-aws/issues
評價:Kube-AWS是CloudFormation用戶的一個很好的工具。雖然它使管理Kubernetes集群變得更加容易,但請確保安裝了所有正確的AWS Cloud Formation工具,以確保有效的安裝。
資源:https://github.com/kubernetes-retired/kube-aws/issues
10、Bootkube
Bootkube啟動自托管的Kubernetes集群,并幫助建立臨時的Kubernetes控制平面。Bootkube還可以用于在引導新集群時生成必要的資產。你可以更改資產以支持任何配置更改。
鏈接:https://github.com/kubernetes-sigs/bootkube
Issues:https://github.com/kubernetes-sigs/bootkube/issues
評價:Bootkube是用于集群中第一個注意事項的一次性使用工具。如果你正在尋找一個全功能的渲染引擎,有更好的工具可用。
資源:https://github.com/kubernetes-sigs/bootkube/tree/master/Documentation
監控工具
11、Kubebox
Kubebox為你提供了一個老式的界面,用于監視和管理集群活動狀態。使用它來監視集群和容器日志,以及Pod資源使用情況。
鏈接:https://github.com/astefanutti/kubebox
Issues:https://github.com/astefanutti/kubebox/issues
評價:一些人認為Kubebox應該和kubectl一樣工作。憑證,主機節點連接,以及確保每臺機器都有適當的kubectl配置有關,這些上面仍然有一些問題。Kubebox沒有網絡版本。
資源:
-
https://hub.docker.com/r/astefanutti/kubebox
-
https://news.ycombinator.com/item?id=16976505
-
https://github.com/astefanutti/kubebox/issues/6
12、Kubernetes Operational View(Kube-ops-view)
Kubernetes Operational View(Kube-ops-view)允許你通過只讀系統儀表板管理多個Kubernetes集群。Kube-ops-view的目標是通過在集群和監視節點之間輕松導航,為多個Kubernetes集群提供一個通用的操作視圖。
鏈接:https://kubernetes-operational-view.readthedocs.io/en/latest/
Issues:https://github.com/hjacobs/kube-ops-view/issues
評價:Kube-ops-view不是Kubernetes儀表板的替代品。如果你正在尋找一個儀表板或監視系統,那么你必須找到適當的工具來這樣做。此工具嚴格用于為多個Kubernetes集群提供操作圖。
資源:https://github.com/hjacobs/kube-ops-view
13、Kubetail
Kubetail使用一個小的bash腳本將多個pods中的日志收集到一個流中。對于希望在副本控制器后面運行Pod的多個實例的用戶來說,它是一個非常有用的工具。
鏈接:https://github.com/johanhaleby/kubetail
Issues:https://github.com/johanhaleby/kubetail/issues
評價:用戶發現Kubetail有助于診斷部署中的問題。但是,初始版本中沒有突出顯示或過濾功能。
資源:
-
https://medium.com/google-cloud/tools-that-make-my-life-easier-to-work-with-kubernetes-fce3801086c0
-
http://code.haleby.se/2015/11/13/tail-logs-from-multiple-pods-simultaneously-in-kubernetes/
14、Kubewatch
Kubewatch使用網絡鉤子通過Kubernetes監視器發出通知。該工具運行在Kubernetes集群中的Pod上,當前在監視系統更改時向可用的協作中心/通知通道發布通知。你可以通過簡單地編輯配置文件來定制通知。
鏈接:https://github.com/bitnami-labs/kubewatch
Issues:https://github.com/bitnami-labs/kubewatch/issues
評價:Kubewatch是一個很好的工具,可以確保你的容器是安全的,并使用行業最佳實踐進行打包,同時監視軟件的漏洞和更新。但是,用戶表示,添加對多個實例的支持將會更有幫助。
資源:
-
https://hub.docker.com/r/bitnami/kubewatch/
-
https://aws.amazon.com/marketplace/pp/B07KCZ4TXY?qid=1543536705121
15、Weave Scope
Weave Scope監視和解決Kubernetes和Docker集群的故障,這樣你就可以輕松地識別和糾正你的容器化應用程序的問題。你可以使用它來輕松地識別應用程序性能瓶頸。
鏈接:https://www.weave.works/docs/scope/latest/introducing/
Issues:https://github.com/weaveworks/scope/issues
評價:Weave Scope是一個很好的工具,可以用來監視你的容器化應用程序的瓶頸。當前用戶表示,該工具非常適合他們的Docker和Kubernetes集群。
資源:https://github.com/weaveworks/scope
16、Searchlight
Searchlight用于檢查Kubernetes集群中的問題。如果檢測到問題,你可以通過短信、電子郵件或聊天接收通知。Searchlight包括一套針對Kubernetes的檢查命令。
鏈接:https://appscode.com/products/searchlight/7.0.0/concepts/what-is-searhclight/overview/
Issues:https://github.com/searchlight/searchlight/issues
評價:Searchlight是一個非常有用的工具,用于檢測Kubernetes集群的問題。然而,你將需要實現額外的工具/流程來解決Searchlight檢測的問題。
資源:
-
https://github.com/searchlight/searchlight
-
https://www.capterra.com/p/171908/Searchlight/
17、Kubeturbo/Turbonomic
Turbonomic/Kubeturbo為你的整個堆棧提供可見性和控制。它支持應用程序和底層集群的持續擴展。這個工具確保了底層基礎設施的效率和Kubernetes Pod中運行微服務的性能。
鏈接:https://turbonomic.com/product/integrations/kubernetes/
Issues:https://github.com/turbonomic/kubeturbo/issues
評價:Kubeturbo/Trubonomic是一個很好的工具來平衡他們的環境工作負載。該工具可以報告性能、工作負載自動化等。然而,大多數用戶發現使用這個界面有一個輕微的學習曲線。
資源:
-
https://medium.com/@karthi.net/10-best-kubernetes-monitoring-tools-3a49799bfe52
-
https://www.g2.com/products/turbonomic/reviews
-
https://github.com/turbonomic/kubeturbo
測試
18、Kube-monkey
你在找Netflix《混亂的猴子》(Chaos Monkey)的Kubernetes版本嗎?Kube-monkey是“Kubernetes的對等物”。遵循混沌工程的原則,Kube-monkey將隨機刪除集群中的Kubernetes pods,并驗證抗故障服務的開發。
鏈接:https://github.com/asobti/kube-monkey
Issues:https://github.com/asobti/kube-monkey/issues
評價:Kube-monkey是一個幫助用戶建立抗失敗服務的好工具。計劃何時刪除Kubernetes以確保故障恢復的能力尤其受歡迎。
資源:
-
https://www.gremlin.com/chaos-monkey/chaos-monkey-alternatives/kubernetes/
-
https://docs.gitlab.com/charts/development/kube-monkey/
19、K8s-testsuite
K8s-testsuite使用測試套件中的兩個Helm圖表在Kubernetes集群上進行網絡帶寬測試和負載測試。這有助于用戶確保他們的配置是正確的,他們的服務正常運行并正確地實現負載均衡。
鏈接:https://github.com/mrahbar/k8s-testsuite
Issues:https://github.com/mrahbar/k8s-testsuite/issues
評價:對于那些在OpenStack系統中積極使用Kubernetes的用戶來說,K8s-testsuite是一個很好的工具。這些工具有助于鋪開CI/CD管道,確保你的配置是正確的,并確保服務正常運行和負載均衡。
資源:https://srossross.github.io/k8s-test-controller/
20、Test-infra
test-infra是用來測試和驗證Kubernetes結果的工具集合。它基于Pytest框架,并包含顯示歷史、聚合失敗和當前測試的儀表板。
鏈接:https://testinfra.readthedocs.io/en/latest/
Issues:https://github.com/kubernetes/test-infra/issues
評價:Test-infra是一個偉大的Kubernetes測試工具。它可以處理復雜的模板來測試和檢測錯誤,并且對于編寫和處理有效的測試非常有用。
資源:
-
https://github.com/kubernetes/test-infra
-
https://philpep.org/blog/infrastructure-testing-with-testinfra
21、Sonobuoy
Sonobuoy以可訪問的、非破壞性的方式對Kubernetes集群的狀態運行測試。這允許用戶通過基于測試的信息更豐富的報告來了解Kubernetes集群的狀態。
鏈接 : https://scanner.heptio.com/
Issues:https://github.com/heptio/sonobuoy/issues
評價:Sonobouy用戶喜歡在Kubernetes集群上定制測試的能力。該工具還確保正確設置這些集群,并滿足CNCF的一致性標準。
資源:
-
https://github.com/heptio/sonobuoy
-
https://blogs.vmware.com/cloudnative/2019/02/21/certifying-kubernetes-with-sonobuoy/
-
https://blog.heptio.com/introducing-heptio-sonobuoy-scanner-a-web-based-tool-to-ensure-your-kubernetes-cluster-is-properly-9a0bb2c340b8
22、PowerfulSeal
PowerfulSeal是彭博發布的另一個受Chaos Monkey啟發的工具。該工具是Kubernetes特有的,并遵循混沌工程的原則 。你可以使用它通過交互模式手動中斷特定的集群組件,并且不需要來自SSH的外部依賴項。
鏈接:https://www.techatbloomberg.com/blog/powerfulseal-testing-tool-kubernetes-clusters/
Issues:https://github.com/bloomberg/powerfulseal/issues
評價:PowerfulSeal的交互模式是手動中斷集群、導致故障并查看結果的好工具。但是,過于依賴手動中斷可能會阻礙在其他集群中發現問題的機會。
資源:
-
https://github.com/bloomberg/powerfulseal
-
https://www.infoq.com/news/2018/01/powerfulseal-chaos-kubernetes
安全
23、Trireme
Trireme通過提高Kubernetes進程、工作負載和容器的安全性和降低復雜性,引入了一種不同的網絡授權方法。這是Kubernetes網絡策略規范的一個簡單實現。Trireme允許用戶在任何一個Kubernetes集群中工作,并管理來自不同集群的pods之間的通信。
鏈接:https://www.aporeto.com/opensource/
Issues:https://github.com/aporeto-inc/trireme-kubernetes/issues
評價:建議使用這個工具來減輕Kubernetes工作負載、容器和進程的復雜性。這有助于在應用程序層強制實施安全性。但是,如果沒有第三方工具,它不會強制執行本地網絡策略。
資源:
-
https://github.com/aporeto-inc/trireme-kubernetes
-
https://www.eweek.com/security/trireme-open-source-security-project-debuts-for-kubernetes-docker
24、Aporeto
Aporeto是一種云本地安全解決方案,它通過工作負載標識、加密和分配給每個工作負載的分布式策略來保護云應用程序不受攻擊。Aporeto的安全策略獨立于底層基礎設施發揮作用。
鏈接:https://www.aporeto.com/
Issues:https://github.com/aporeto-inc
評價:這個工具對于那些土生土長的、希望擁有更安全的網絡的人來說非常理想。安全策略是根據獨立于網絡的每個工作負載執行的。這有助于在多云環境中啟用統一的安全編排。那些支持開源安全的人會支持Aporeto。
資源:
-
https://www.bloomberg.com/profile/company/1510966D:US
-
https://thenewstack.io/aporeto-security-context-king/
25、Twistlock
Twistlock是一個容器安全平臺,它通過運行實時干預、阻塞和阻止任何進程內運行時攻擊來監控Kubernetes部署的應用程序的漏洞和遵從性問題。此工具還可以保護前端微服務免受常見攻擊。這是通過保護vm、容器、無服務器功能、服務網格或混合來執行的。
鏈接:https://www.twistlock.com/
Issues:https://github.com/twistlock
評價:對于那些希望確保遵從性和管理漏洞的人來說,Twistlock是一個有效的云本地工具。關于遵從性,它是保護應用程序、網絡和主機的單一整體平臺。從安全的角度來看,Twistlock提供了關于附加組件的信息和可見性,以及關于取證、實時分析和審計的詳細文檔。
資源:https://www.twistlock.com/kubernetes-security-101/
26、Sysdig Falco
Sysdig Falco是一個開源運行時容器安全解決方案。它被設計用來檢測應用程序中的異?;顒印alco是一個沙箱級項目,由CNCF托管。
鏈接:https://sysdig.com/opensource/falco/
Issues:https://github.com/falcosecurity/falco/issues
評價:Sysdig Falco提供了對容器和應用程序行為的可見性,這對于DevSecOps是至關重要的。它縮短了檢測安全事件所需的時間,并應用了允許你持續監視和檢測容器、應用程序、主機和網絡活動的規則。
資源:
-
https://github.com/falcosecurity/falco
-
https://solutionsreview.com/cloud-platforms/cloud-native-computing-foundation-sysdig-falco/
27、Sysdig Secure
Sysdig Secure是一個容器智能平臺,它為微服務和容器執行運行時安全性和取證解決方案。支持多種容器編配工具,如Kubernetes、Docker、AWS ECS和Apache Mesos。這個平臺是為云和本地軟件提供的。
鏈接:https://sysdig.com/products/secure/
Issues:https://github.com/Draios
評價:通過為你的環境提供全面的性能監視和故障排除,Sysdig Secure可以保護你的整個基礎設施,而不增加任何開銷。
資源:https://sysdigdocs.atlassian.net/wiki/spaces/Secure/overview
28、Kubesec.io
Kubesec.io允許你計算你的Kubernetes資源使用安全特性的風險。這允許用戶根據Kubernetes的安全最佳實踐來驗證資源配置。它為你提供了如何提高安全性的全面控制和其他建議,以及站點上大量與容器和Kubernetes安全性相關的資源。
鏈接:https://kubesec.io/
Issues:https://github.com/stefanprodan/kubectl-kubesec/issues
評價:Kubesec.io幫助實現Kubernetes的連續安全性。目前使用Kubesec.io的用戶對網站上與容器和Kubernetes安全相關的外部鏈接數量感到滿意。
資源:
-
https://github.com/stefanprodan/kubectl-kubesec
-
https://jaxlondon.com/wp-content/uploads/slides/Continuous_Kubernetes_Security.pdf
有用的CLI工具
29、Cabin
Cabin是一個移動儀表盤,通過Android或iOS對Kubernetes進行管理。它允許用戶遠程管理他們的集群,是一個非常好的工具,可以對任何事件進行快速補救。
鏈接:https://github.com/bitnami-labs/cabin
Issues:https://github.com/bitnami-labs/cabin/issues
評價:當Kubernetes應用程序離開主設備時,Cabin是一個非常好的工具,可以快速管理它們。然而,這并不是一個用于開發的工具。工程師經常遠離他們的主計算機,需要快速管理他們的Kubernetes集群將會發現Cabin很有用。
資源:https://thenewstack.io/remote-kubernetes-cluster-management-cabin-bitnami/
30、Kubectx/Kubens
Kubectx/Kubens通過在集群之間來回切換,幫助用戶輕松切換上下文。你可以使用它在Kubernetes命名空間之間平穩地切換。
鏈接:https://github.com/ahmetb/kubectx
Issues:https://github.com/ahmetb/kubectx/issues
評價:Kubectx/Kubens對于那些始終在集群或命名空間之間導航的用戶是有益的。使用自動完成特性,用戶可以輕松地切換上下文,并同時連接到多個Kubernetes集群。
資源:
-
https://blogs.oracle.com/cloudnative/kubernetes-command-line-tools
-
https://medium.com/@thisiskj/quickly-change-clusters-and-namespaces-in-kubernetes-6a5adca05615
31、Kube-shell
Kube-shell是一個與kubectl一起工作的工具,通過支持自動完成和自動建議來提高工作效率。通過提供內聯文檔以及針對錯誤輸入項的搜索和正確命令,該工具有助于提高Kubernetes控制臺內的性能。
鏈接:https://github.com/cloudnativelabs/kube-shell
Issues:https://github.com/cloudnativelabs/kube-shell/issues
評價:Kube-shell推薦給那些目前沒有使用自動完成和自動建議工具以及搜索和正確功能的用戶。這樣做可以節省開發人員的時間,提高工作效率和應用程序性能。
資源:https://kubernetes.io/docs/tasks/debug-application-cluster/get-shell-running-container/
32、Kail
Kail是Kubernetes的一個工具,它可以從所有匹配的容器和分離艙中傳輸日志。它還通過各種特性(如服務、部署和標簽)對pods進行過濾。
鏈接:https://github.com/boz/kail
Issues:https://github.com/boz/kail/issues
評價:Kail推薦給任何關注中等復雜應用程序日志的人。你可以跟蹤Docker日志,并在啟動后自動將pods添加到日志中,如果它滿足條件。這將簡化為所有匹配的容器和pods流化日志的過程。
資源:http://david.currie.name/archives/2018/10/12/kail-kubernetes-tail
開發工具
33、Telepresence
Telepresence允許你在本地調試Kubernetes服務,從而簡化了開發和調試過程。
鏈接:https://www.telepresence.io/
Issues:https://github.com/telepresenceio/telepresence/issues
評價:Telepresence對于本地調試Kubernetes集群有本質上的好處。另外,使用Telepresence時,Kubernetes將本地代碼計數為集群中的普通Pod。
資源:
-
https://github.com/telepresenceio/telepresence
-
https://kubernetes.io/docs/tasks/debug-application-cluster/local-debugging/
-
https://thenewstack.io/telepresence-brings-the-kubernetes-cluster-to-developers/
34、Helm
Helm幫助用戶管理他們的Kubernetes應用程序,通過Helm圖表允許你共享你的應用程序。這使得用戶能夠創建可共享的可復制的構建。
鏈接:https://helm.sh/
Issues:https://github.com/helm/helm/issues
評價:Helm有助于管理Kubernetes圖表和簡化Kubernetes應用程序的安裝和管理。然而,Helm不推薦用于更高級和更頻繁的部署。
資源:https://github.com/helm/helm
35、Keel
一旦庫中有新的應用程序版本可用,Keel就會自動更新Kubernetes的工作負載。這使得用戶可以重新專注于編寫代碼和測試他們的應用程序。
鏈接:https://keel.sh/
Issues:https://github.com/keel-hq/keel/issues
評價:那些想要自動化他們的Kubernetes部署更新的人應該看看Keel。這個工具將有助于將重點從更新工作負載轉移到關注它們的代碼和測試。
資源:https://github.com/keel-hq/keel
36、Apollo
Apollo是一個連續部署(CD)解決方案,為團隊提供了一個自服務的UI。此工具可以與可能已經存在的現有構建流程集成,并且在權限方面具有靈活性。這允許團隊通過給每個用戶特定的權限來管理他們的Kubernetes集群,以確保部署是安全的。
鏈接:https://github.com/logzio/apollo
Issues:https://github.com/logzio/apollo/issues
評價:如果組織正在尋找一種工具來幫助他們實現持續部署(CD),那么Apollo無疑是值得考慮的。然而,重要的是要記住,轉換成CD需要時間,而且是一個乏味的過程。
資源:https://logz.io/blog/introducing-apollo/
37、Draft
Draft是Azure提供的一種開源工具,它使開發人員更容易構建運行在Kubernetes上的應用程序。這是通過針對加速變更驗證過程的開發人員工作流的“內部循環”來實現的。
鏈接:https://draft.sh/
Issues:https://github.com/azure/draft/issues
評價:Draft鼓勵團隊在不增加復雜性的情況下在Kubernetes之上進行構建。它也是一個開源工具。也就是說,那些專業的開源團隊想要簡化他們的構建過程,應該檢查Draft。
資源:
-
https://github.com/azure/draft
-
https://kubernetes.io/blog/2017/05/draft-kubernetes-container-development/
-
https://docs.microsoft.com/en-us/azure/aks/kubernetes-draft
38、Deis Workflow
Deis Workflow是一個開源平臺,作為一種服務工具,它使部署和應用管理對開發者來說更加容易。使用Deis工作流,開發人員可以在Kubernetes集群之上創建額外的抽象層。
鏈接:https://teamhephy.info/docs/workflow/
Issues:https://github.com/deis/workflow/issues
評價:Deis工作流的用戶表示,該工具已經有利于他們的部署過程。這個工具涵蓋了部署和管理的所有基礎知識,使開發人員的工作變得不那么復雜。
資源:
-
https://github.com/deis/workflow
-
https://alternative.me/deis#Deis_Reviews
39、Kel
Kel是一個由Eldarion創建的作為服務工具的開源平臺,專注于應用程序的生命周期以及開發人員如何跨該平臺工作。除了Kubernetes之外,使用Python編寫的兩個層,開發人員可以管理他們的應用程序基礎設施并部署在Kubernetes上。
鏈接:http://www.kelproject.com/
Issues:https://github.com/kelproject
評價:使用Kel的好處是,它可以更快地將技術傳遞給受眾,同時也吸引了一個社區來幫助擴展Kel。
資源:
-
https://containerjournal.com/2016/05/10/eldarion-launches-open-source-kel-project-top-kubernetes/
-
https://www.infoworld.com/article/3066058/kubernetes-powered-paas-focuses-on-devops.html
CI/CD流水線
40、Cloud 66
Cloud 66是一個DevOps工具鏈,它可以減少開發時間,讓開發人員專注于應用程序的開發。由于該平臺提供了專門的DevOps工具,開發人員也能夠管理他們的Kubernetes工作負載和配置。Cloud 66支持在任何云或服務器上進行端到端基礎設施管理。
鏈接:https://www.cloud66.com/
Issues:https://github.com/cloud66
評價:Cloud 66將網絡規模的ops交到開發者手中。同樣吸引人的是,該平臺還具有多重集成功能。然而,該平臺將從與選擇的云托管提供商的進一步集成中獲益。
資源:https://www.g2.com/products/cloud-66-for-containers/reviews
Serverless/Function工具
41、Kubeless
Kubeless是一個開源的Kubernetes本機無服務器框架,它允許你部署少量代碼,而不必擔心底層基礎設施。Kubeless支持大多數流行語言,允許你實時編輯和部署Kubeless函數。
鏈接:https://kubeless.io/
Issues:https://github.com/kubeless/kubeless/issues
評價:Kubeless是否是真的無服務器當前尚有爭論。因此,它是一個偽服務器工具。但是,Kubeless支持大多數現代語言,如果你有Kubeless可以幫助的特定用途,則推薦使用它。
資源:
-
https://github.com/kubeless/kubeless
-
https://medium.com/@natefonseka/kubeless-vs-fission-the-kubernetes-serverless-match-up-41f66611f54d
42、Fission
Fission是另一個開源kubernetes-本機無服務器框架。與Kubeless類似,Fission關注開發人員的生產力和高性能,它允許你使用任何語言編寫代碼并將其部署到Kubernetes集群上。
鏈接:https://fission.io/
Issues:https://github.com/fission/fission/issues
評價:Fission比Kubeless更流行,因為它的特性和用任何語言編碼的能力。雖然它與AWS Lambda的規模不同,但Fission確實接受了無服務器的概念。
資源:
-
https://github.com/fission/fission
-
https://hackernoon.com/what-is-serverless-part-4-fission-an-open-source-serverless-framework-for-kubernetes-7f025517774a
43、Funktion
Funktion是一種面向Kubernetes的開放源碼事件驅動的Lambda風格編程模型。這允許開發人員專注于編寫Funktion,而Kubernetes則負責其余的工作,因此你不必擔心。
鏈接:https://funktion.fabric8.io/docs/
Issues:https://github.com/funktionio/funktion/issues
評價:Funktion對于那些沒有服務器的人來說是一種有效的方法來管理他們的微服務。如果你沒有服務器或者正在考慮這樣做,請查看這個工具。
資源:https://github.com/funktionio/funktion
44、IronFunction
IronFunction是一個功能服務平臺,你可以在任何地方運行。使用這個工具,開發人員可以上傳他們的代碼,同時平臺處理基礎設施,他們也可以簡化他們的編碼。該工具還促進了資源的有效使用,并使其更易于管理和擴展。
鏈接:https://open.iron.io/
Issues:https://github.com/iron-io/functions/issues
評價:IronFunction對基于云的組織非常有吸引力。然而,對于云存儲的整體安全性仍存在擔憂。
資源:
-
https://github.com/iron-io/functions
-
https://thenewstack.io/iron-ios-open-source-serverless-platform-ironfunctions-redefines-hybrid-cloud/
-
https://blog.iron.io/tag/ironfunctions/
45、OpenWhisk
OpenWhisk是一個由IBM和Adobe驅動的作為服務平臺的開源功能。它可以部署在公有云云上,也可以部署在私有云,它被設計成通過外部觸發器運行函數,作為一個異步的、松散耦合的執行環境。
鏈接:https://cloud.ibm.com/openwhisk/
Issues:https://github.com/apache/incubator-openwhisk/issues
評價:OpenWhisk具有健壯的體系結構和設計,是一種強烈推薦的開源產品。
資源:
-
https://github.com/apache/incubator-openwhisk
-
https://thenewstack.io/behind-scenes-apache-openwhisk-serverless-platform/
46、OpenFaaS
OpenFaaS提供了一個框架來構建無服務器的Kubernetes函數,并專注于度量。你還可以將任何進程打包到函數中。這使你能夠在無需重復編碼或其他例行操作的情況下使用一系列Web事件。
鏈接:https://www.openfaas.com/
Issues:https://github.com/openfaas/faas/issues
評價:與AWS Lambda相比,OpenFaaS提供了更高程度的可定制性。用戶可以用任何語言編寫代碼,并且可以根據需要覆蓋超時。另一個吸引人的地方是該平臺是MIT授權的。
資源:
-
https://github.com/openfaas/faas
-
https://docs.openfaas.com/deployment/kubernetes/
-
https://www.contino.io/insights/what-is-openfaas-and-why-is-it-an-alternative-to-aws-lambda-an-interview-with-creator-alex-ellis
47、Nuclio
Nuclio是一個無服務器的項目,允許你使用它作為一個獨立的Docker容器,甚至在另一個Kubernetes集群之上。Nuclio設計用于處理高性能事件和大量數據。它還以最小的開銷提供實時數據處理。
鏈接:https://nuclio.io/
Issues:https://github.com/nuclio/nuclio/issues
評價:Nuclio支持多種平臺和語言,通過允許你定制執行環境,使自己有別于其他工具。
資源:
-
https://github.com/nuclio/nuclio
-
https://nuclio.io/docs/latest/
-
https://www.iguazio.com/nuclio-new-serverless-superhero/
48、Virtual-Kubelet
Virtual-Kubelet是一個開源的Kubernetes Kubelet實現。此工具運行在當前集群中的容器中,并將其自身偽裝為節點。從那里,它像真正的Kubelet那樣監視預定的pods。
鏈接:https://virtual-kubelet.io/docs/
Issues:https://github.com/virtual-kubelet/virtual-kubelet/issues
評價:對于那些沒有服務器、有CI/CD和執行批處理作業的人來說,Virtual-Kubelet將是有益的。有一個活躍的社區,不斷地提供反饋并解決問題。
資源:https://github.com/virtual-kubelet/virtual-kubelet
49、Fn Project
Fn項目是一個開源的、本地容器、無服務器的平臺,既可以在云上運行,也可以在本地運行。Fn項目易于使用,支持每種編程語言。
鏈接:https://fnproject.io/
Issues:https://github.com/fnproject
評價:Fn項目有利于云不可知的開發人員。它幾乎可以在任何地方運行,并且支持多種語言。Fn項目是Docker本機和易于使用的開發人員和易于管理的運營商。
資源:https://hackernoon.com/playing-with-the-fn-project-8c6939cfe5cc
本地服務發現
50、CoreDNS
CoreDNS是一組用Go編寫的DNS插件,可以用附加的Kubernetes插件替換默認的Kube-DNS。CoreDNS是一個CNCF畢業項目。
鏈接:https://coredns.io/
Issues:https://github.com/coredns/coredns/issues
評價:CoreDNS在GitHub和Slack上有一個非?;钴S的社區。那些使用核心代碼的用戶喜歡他們的微服務的速度以及DNS插件監聽DNS請求的方式。
資源:
-
https://github.com/coredns/coredns
-
https://thenewstack.io/coredns-offers-a-speedy-dns-service-for-the-microservices-era/