前言
上篇介绍了服务网格的定义,大家对服务网格也有了一个初步的认识。对于想使用网格的人员来说,有没有具体的落地产品呢?
当然,那就是当今炙手可热的开源项目Istio。
Isitio作为google维护的顶级开源项目,目前已进入CNCF孵化阶段。Istio提供的无侵入的流量治理、开箱即用的可观测以及默认安全能力,彻底解放了业务人员对底层技术的束缚,进而聚焦业务本身。
接下来,让我们一起进入Istio的世界…
一、Isitio概述
首先先回答一下,什么是istio?
参考Istio的官方定义:
Istio 是一个开源服务网格,它透明地进入到现有的分布式应用程序上。 Istio
强大的特性提供了一种统一和更有效的方式来保护、连接和监视服务。 Istio
是实现负载平衡、服务到服务身份验证和监视的路径——只需要很少或不需要更改服务代码。
了解了istio的定义,接下来看一下Istio的架构。
二、Istio总体架构
Istio总体架构采用了控制面ControlPlane与数据面DataPlane分离的架构,隔离了故障域,使得两个平面相互独立互不影响。
其中控制平面由Istiod承担,主要负责网格的服务发现、流量规则下发和证书管理;数据平面由Envoy组成,被部署为 Sidecar。这些代理负责协调和控制微服务之间的所有网络通信。它们还收集和报告所有网格流量的遥测数据。控制平面向数据面代理sidecar下发流量配置策略,实现流量路由。官方架构如下:
控制平面大脑Istiod
Istiod 是控制平面的服务,为服务网格提供服务发现、流量规则配置和证书管理功能。
Istiod 将控制流量行为的高级路由规则转换为 Envoy 特定的配置,并在运行时将其传播给 Sidecar。Pilot 提取了特定平台的服务发现机制,并将其综合为一种标准格式,任何符合 Envoy API 的 Sidecar 都可以使用。
。
数据平面代理Envoy
Ist