Kuma、Kuma
什么是Kuma
官方给出的解释:A modern distributed Control Plane with a bundled Envoy Proxy integration.
(一个与Envoty代理组件捆绑在一起的现代化分布式控制平面)。
简单来说Kuma就是基于Envoy作为数据平面的控制平面组件。
可能很多人没听说Kuma,Kuma是Kong组织实现的Service Mesh控制平面,而数据面使用的是Envoy,跟Istio类似。
(那么有人问了Kong又是哪个,大家如果看过我之前的文章话,应该会知道,Kong组织最出名的项目基于Openresty开发的API网关Kong)
Kuma架构图
Kuma因为与Kong是一家公司出品,所以其架构图看起来也一样,Kong最上面是一个猩猩,而这里是一只熊。
熊下面都是Kuma自身所带的功能,包括路由、日志、自定义策略、Tracing、Service权限控制等等。
最下层是服务Service,每个服务都携带一个代理(Envoy),下面两个紫色的图标是envoy,作为数据平面来真正的代理流量。
Kuma加入CNCF黑盒
在前几天,Kuma已经加入了CNCF,因为控制面板采用了CNCF家族已经毕业的Envoy,所以其可用性和未来应该还是挺不错的。
Kuma与Istio对比
从架构上来讲,Kuma非常的简单,而Istio非常的复杂,组件繁多,流程复杂。安装部署、维护也是老大难的问题。而Istio自己也发现了这个问题,从今年年初发版的1.5版本开始逐步的减少组件、简化流程,一切为了实际生产。
架构对比图如下
Kuma架构图
Istio 1.5以前架构
Istio 1.5之后的架构
Kuma未来可期
今天Kuma刚刚发布了0.6版本,虽然还是在0.x版本,但是已经有生产在使用了,而且因为其架构简单、安装部署运维入门简单,与Envoy的良好结合,所以前景也是非常不错的,在我们期待Istio的同时,看看身边其他的Service Mesh组件也是好的。