在Kubernetes和微服务之间,服务网格提供了重要的一层。
Kubernetes已经解决了容器编排的问题,对于云原生生态圈来说,剩下的问题是如何使微服务的交付更有效和更有弹性。这个问题可以通过服务网格技术来实现。
近年来,像Istio、Envoy和Linkerd这样的开源服务网格项目越来越受欢迎。本文主要探讨服务网格的基本原理,单个vanilla Kubernetes(plain vanilla Kubernetes)面临的挑战,并介绍了几种Kubernetes服务网格产品。
什么是服务网格?
服务网格是一个网络基础设施层,应用程序不同部分之间的通讯通过它来控制和可视化。现在的应用往往都是通过这种方式工作的。网络被分成不同的部分,每个部分都是一个服务,每个服务执行特定的业务功能。
一个服务可能需要从其它服务请求数据才能执行自身的功能。通常,有些服务会因为请求过量而超载,这就是服务网格有用的地方。服务网格通过把请求从一个服务路由到另外一个服务,来优化不同部分之间的通信。
服务网络组件包括:
控制平面:主要负责代理配置,策略管理和TLS证书