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

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

作者:云智时代 2020-06-21 13:42:27

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

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

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

AWS App Mesh

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

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在许多部署类型中得到广泛使用就不足为奇了。

与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作为服务代理。

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

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产品一起使用。

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

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

Envoy Proxy

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

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

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

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/276278.html<

(0)
运维的头像运维
上一篇2025-05-10 14:15
下一篇 2025-05-10 14:16

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注