GitHub上的 50个Kubernetes DevOps工具 - Go语言中文社区

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是一个开源运行时容器安全解决方案。它被设计用来检测应用程序中的异常活动。Falco是一个沙箱级项目,由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上有一个非常活跃的社区。那些使用核心代码的用户喜欢他们的微服务的速度以及DNS插件监听DNS请求的方式。

资源:

  • https://github.com/coredns/coredns

  • https://thenewstack.io/coredns-offers-a-speedy-dns-service-for-the-microservices-era/

版权声明:本文来源51CTO,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:http://news.51cto.com/art/202012/633476.htm
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢