另外一个众所周知的产品,也因为它诞生最早,就是Linkerd。它的独特之处在于它仅适用于 Kubernetes。它被设计为非侵入性和高性能,具有只需很短的时间即可采用的优点。 Linkerd 承诺轻巧、简单和安全。
该项目是在 CNCF 内部开发的,并且是完全开源的。
提供的云集成是与 DigitalOcean 的集成。
其他产品
还值得一提的是:
Consul Service Mesh,由 HashiCorp 开发;
AWS App Mesh,它不是开源产品,而是AWS向其客阿曼电报数据 户提供的服务;
Open Service Mesh,由微软创建并使用Service Mesh Interface;
Kuma,由 Kong 开发。
如何选择服务网格实施
如此丰富的全景图乍一看可能会不稳定:最好采用哪种实现?让我们尝试定义一些指导方针。
第一个考虑因素涉及所使用的云类型。如果应用程序位于公共云上,建议当然是采用供应商提供的产品。以 Google 为例,Anthos Service Mesh;对于AWS,AWS App Mesh。
当涉及到私有云和混合云时,情况就会发生变化。如果你只有Kubernetes 集群,最直接简单的解决方案就是选择完全基于 Kubernetes 的产品,例如 Linkerd 或 Kuma。
另一种场景是混合云,除了Kubernetes集群之外,还有虚拟机甚至裸机。为了能够使用与容器相同的功能来处理整个网络,有必要采用更灵活的产品,例如 Istio。这允许您管理广泛的基础设施,但必须考虑到它比其他产品(首先是 Linkerd)复杂得多。
最后,一些一般性建议:选择采用或实施标准并得到大型供应商支持的产品总是好的。
服务网格的优点
开发微服务可以简化并加速许多流程。另一方面,显然,分布式环境在可观察性、监控、管理和问题解决方面呈现出更大的复杂性。这就是服务网格发挥作用的地方:让我们看看它的主要好处是什么。
安全
从一项服务到另一项服务的通信(所谓的横向通信)可能会受到不同类型的攻击。服务网格允许您通过加密、mTLS、身份验证和授权自动保护服务之间的通信。