深入理解Istio:云原生服务网格进阶实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 后Kubernetes时代的微服务

听说过服务网格并试用过Istio的人可能都会有以下5个疑问。

(1)为什么Istio 要绑定Kubernetes呢?

(2)Kubernetes和服务网格分别在云原生中扮演什么角色?

(3)Istio扩展了Kubernetes的哪些方面?解决了哪些问题?

(4)Kubernetes、xDS协议(Envoy、MOSN等)与Istio之间是什么关系?

(5)到底该不该使用Service Mesh?

这一节将带读者梳理清楚 Kubernetes、xDS协议与Istio服务网格之间的内在联系。此外,本节还将介绍Kubernetes中的负载均衡方式,xDS协议对于服务网格的意义,以及为什么说即使有了Kubernetes还需要Istio。

使用服务网格并非与Kubernetes决裂,而是水到渠成的事情。Kubernetes的本质是通过声明配置对应用进行生命周期管理,而服务网格的本质是提供应用间的流量和安全性管理,以及可观察性。假如已经使用Kubernetes构建了稳定的微服务平台,那么如何设置服务间调用的负载均衡和流量控制?

Envoy创造的xDS协议被众多开源软件所支持,如Istio、Linkerd、MOSN等。Envoy对服务网格或云原生而言最大的贡献就是定义了xDS。Envoy本质上是一个网络代理,是通过API配置的现代版代理,基于它衍生出了很多不同的使用场景,如API 网关、服务网格中的Sidecar 代理和边缘代理。