一、Service Mesh介绍
Service Mesh 的中文译为:服务网格,是一个用于处理服务和服务之间通信的基础设施层。它负责为构建复杂的云原生应用传递可靠的网络请求,并为服务通信实现了微服务所需要的基本组件功能,如:服务发现、负载均衡、监控、流量管理、访问控制等。在实践中,服务网格通常实现为一组和应用程序部署在一起的轻量级的网络代理,单对应用程序来说是透明的。
上图,绿色方块为应用服务,蓝色方块为Sidecar Proxy,应用服务之间通过sidecar Proxy进行通信,整个服务通信形成图中的蓝色网络连线,同种所有蓝色部分就形成一个网络,这个就是服务网格名字的由来。
二、Service Mesh特点
1、治理能力独立(sidecar)
2、应用程序无感知
3、服务通信的基础设施层
4、解耦应用程序的重试/超时、监控、追踪和服务发现
三、Istio概述
Istio是Service Mesh的产品化落地,是目前最受欢迎的网络网格。功能丰富、成熟度高。
Linkerd是世界上第一个服务网格类的产品。
- 连接(Connect)
- 流量管理
- 均衡负载
- 灰度发布
- 安全(Secure)
- 认证
- 鉴权
- 控制(Control)
- 限流
- ACL
- 观察(observe)
- 监控
- 调用链
四、k8s与Istio结合
五、Istio版本变化
在Istio1.5版本发生了一个重大变革,彻底推翻原有控制平面的架构,将原有多个组件整合为单体结构“Istiod”,同时废弃了Mixer组件,如果你正在使用之前的版本,必须了解这些变换。