微服务利器,6个值得拥有的服务网格工具

云计算
Kubernetes和服务网格相辅相成,因为使用服务网格可以实现更复杂的容器化架构,而不会增加额外的工作量。还有很多方法可以将服务网格建立为Kubernetes上的一层,来看看时下流行的服务网格工具。

服务网格(Service Mesh)并不是新概念,但将其作为运行容器平台在Kubernetes之上的微服务连接来实现,则是服务网格变得更为流行的原因。如果没有服务网格,则每个微服务都需要配置接受并发送与其通信的其他微服务的连接,而服务网格完全改变了这一点。

开发者现在可以创建一个网格,使微服务能够以可靠,安全和可控的方式相互通信,而不必处理手动配置,并且不必花费大量时间和精力来维护微服务之间的连接。Kubernetes和服务网格相辅相成,因为使用服务网格可以实现更复杂的容器化架构,而不会增加额外的工作量。还有很多方法可以将服务网格建立为Kubernetes上的一层,来看看时下流行的服务网格工具。

AWS App Mesh

目前,许多Kubernetes支持的应用和微服务都在AWS的环境中运行,因此谈到服务网格很难避开AWS App Mesh不谈。AWS App Mesh是亚马逊自己的服务网格,为AWS的服务创建服务网格层。

微服务利器,6个值得拥有的服务网格工具

AWS App Mesh结合了Envoy的专有技术作为其服务代理,通过创建虚拟服务在相同名称空间内的连接服务。AWS环境中的每个微服务都可以找到该虚拟服务,并将其用于将通信引导至其他微服务。

AWS App Mesh与其他AWS服务,如EKS,Fargate和EC2的无缝集成是其最强的优势之一,但是在使用AWS App Mesh方面存在一些限制,不能迁移到App Mesh外部或在多云设置中使用这项服务。

此外,App Mesh还借助CloudWatch和AWS X-Ray来管理服务网格,但这意味着你无需离开主仪表板就可完全控制服务网格层。尽管App Mesh不支持授权规则,但也支持如mTLS、高级负载均衡之类的安全功能。

Istio

Istio是Kubernetes最受欢迎的服务网格工具。最初是由为Lyft开发,之后成为了Google和IBM联合的开发项目。背靠这样的巨头,Istio在许多部署类型中得到广泛使用就不足为奇了。

微服务利器,6个值得拥有的服务网格工具

与App Mesh相似,Istio也使用Envoy作为其服务代理,但并不仅限于Envoy作为唯一的入口控制器。Istio的独特之处在于它提供了巨大的灵活性,而没有通常的复杂性。实际上可以将Istio用于其他容器化平台,但是它与Kubernetes的无缝集成才是最为关键的

例如,Istio支持网格扩展和多集群网格,这两个功能都是App Mesh和许多其他服务网格工具所没有的。Istio也像执行这些任务一样处理流量访问控制和负载均衡。它甚至支持故障注入和延迟注入。

而使用Istio的唯一不足就是可能会对它提供的功能感到不知如何下手。但如果有足够的资源使用Istio处理服务网格层,则它可以利用其功能简化最复杂的微服务体系架构。

Linkerd

Linkerd也是非常流行的服务网格工具。Kubernetes社区已经很好地接受了新的系列版本,到2020年4月中旬,其稳定的2.7.1版本已经发布。它完全是作为独立的服务网格工具构建的,因此它不依赖Envoy等第三方工具进行管理。它甚至包含linkerd-proxy作为服务代理。

微服务利器,6个值得拥有的服务网格工具

最近的升级,还包括仪表板改进和金丝雀部署的流量拆分功能的可视化。这使其成为实时监控和编排金丝雀和蓝/绿部署的绝佳工具。

Linkerd在保持独立性的同时,还与入口控制器保持高度兼容性。实际上,Linkerd能够与你使用的任何入口控制器一起使用,从而使其在这方面具有很好的灵活性。要使服务网格与应用程序集成在一起,只需要一个简单的连接器注入命令即可。

Linkerd2也进行了高度优化,安装仅需60秒。如果你正在寻找一个可以使表格发挥最佳性能的服务网格工具,那么可以尝试一下。Linkerd一旦部署,并不需要太多的优化。开箱即用的配置能够支持复杂的微服务阵列,并且能够防止重大攻击。Linkerd通过mTLS加密来增强应用程序安全性。

它也是专门为Kubernetes开发的工具,不支持多云和多集群网格创建,但是当用作Kubernetes实例的服务网格层时,它的功能也不会因此降低。此外,它还可以与OpenCensus配合使用,使跟踪和管理变得非常容易。

Kuma

Kuma提供了Envoy作为服务代理和对任何入口控制器支持的独特组合。它与Consul Connect非常相似,但有些新功能令人耳目一新,Kuma也是与其他工具相比,还很年轻。

Kuma不仅可以投入生产,而且还具有功能强大的服务网格功能。它支持与OpenTracing兼容的所有后端,并在需要时允许使用外部CA证书。但它还存在许多功能的不足。

目前,在Kuma中无法进行基于路径或基于标头的流量拆分,还不支持流量访问控制和指标等功能。这些功能可能会在以后的更新中引入,但是就目前而言,必须手动进行代理模板处理才能解决这些工具的不足。

尽管如此,Kuma看起来还不错。它当前为0.4.0的版本,它的开发团队正在不断听取社区用户的意见,尽快追上与其他服务网格工具的差距。

Consul Connect

HashiCorp的Consul Connect,它可以与Envoy和其他各种服务代理替代产品一起使用。它还可以与任何入口控制器一起使用,使其成为最容易集成到现有Kubernetes集群中的一种工具。

Consul Connect可在任何Consul环境中无缝运行。该服务网格工具虽然提供了许多方便的功能,但只能满足与其他HashiCorp产品一起使用。

微服务利器,6个值得拥有的服务网格工具

它支持从TCP到gRPC的所有内容,也可与Kubernetes,VM和Nomads一起使用。完全支持网格扩展,因此可以拥有跨多个云服务和集群的环境,并且具有支持微服务的功能强大的服务网格层。

Consul Connect需要改进的一方面是监控。目前它可以集成其他监控工具来访问日志和按路由度量。如可以集成Prometheus和Grafana之类的工具来进行可视化数据监控。只需要从服务代理中提取数据即可,而不是直接从Consul Connect中提取数据。

Envoy Proxy

以上服务网格工具主要设计为与Envoy一起用作服务代理。与其他边缘代理工具相比,Envoy确实具有一些优势,高级负载均衡是所有这些工具中最突出的优势。

微服务利器,6个值得拥有的服务网格工具

自动重试,区域本地负载均衡和请求屏蔽,使你可以配置流量负载均衡来实现最佳性能。另一方面,高可可视性使Envoy成为维护支持功能强大架构的强大网络的理想解决方案。

写在最后,这些工具的主要目标是创建一种云架构,以满足微服务以可靠,安全的方式相互通信。无论你使用以上哪种工具,都能够实现这个目标。

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2019-08-29 08:00:00

微服务架构服务网格

2020-11-15 23:48:57

服务网格微服务网络网络技术

2020-07-13 07:00:03

微服务服务网格架构

2022-09-06 10:46:34

服务网格可观测性微服务

2019-07-18 12:41:52

数字化服务网格微服务

2023-05-08 07:05:26

2023-06-18 19:21:04

技术架构服务网格

2022-11-24 14:21:27

微服务ISTIO

2020-10-10 10:37:54

微服务架构技术API

2022-05-16 08:00:00

服务网格架构Kuma

2022-08-08 10:09:58

服务网格架构

2020-01-07 09:25:02

服务网格微服务Kubernetes

2022-08-09 08:00:00

服务网格云原生工具

2022-06-28 09:44:21

DevOps软件开发

2020-08-26 05:45:40

服务网格DevOps开发

2021-08-27 11:42:51

Nacos云原生阿里云

2021-04-02 22:00:50

服务网格微服务

2020-10-21 13:31:53

服务网格开源微服务

2021-04-25 08:48:36

Traefik mes服务网格Kubernetes集

2023-12-29 08:17:26

Python代码分析Profile
点赞
收藏

51CTO技术栈公众号