Containous开源微服务服务网格Maesh,用于管理K8s集群内部流量

云服务提供商Containous开源了新服务网格(Service Mesh),这个项目的目的,是要让Kubernetes应用程序各个部分,更容易互相沟通,让使用者能管理Kubernetes集群内部流量。

Containous是反向代理Traefik的开发公司,Traefik可以通过Kubernetes与Docker Swarm容器调度环境,自动进行流量管理,提供使用者OpenTracing、HTTP负载均衡、gRPC、WebSocket、TCP,以及各种路由规则和故障转移等功能。

这个专为微服务设计的服务网格Maesh,就是建立在Traefik之上,让使用者能查看并管理在K8s集群内流动的流量,Containous表示,管理集群内部流量跟管理流入流出集群的流量一样重要,而Maesh是一个操作简单功能齐全的服务网格,其基于原生容器的设计,能适用于用户的K8s集群,且支持最新的服务网格介面规范(Service Mesh Interface,SMI)。

Maesh属于非侵入性的服务网格,不使用任何边车容器(Sidecar Container),而是通过每个节点上执行的代理端点处理路由,网状网路控制器会在专用的Pod中执行,并且处理所有配置解析和部署。Containous提到,不使用边车容器的意思,代表Maesh不会修改Kubernetes文件,同时也不会在使用者未知的情况下,修改集群中的流量。

Maesh可以执行TCP模式或是HTTP模式。TCP模式将可以无缝的与SNI路由整合,而HTTP模式则是使用Traefik功能集,允许对虚拟主机、标头和Cookie启用丰富的路由功能。

Maesh会利用Kubernetes中预设安装的CoreDNS的平台,该平台允许开发者使用Maesh端点,而非原本标准的K8s服务端点。Maesh端点与使用者服务同时运作,Containous让使用者可以自由地选择在K8s集群中加入Maesh。当用户未在K8s集群加入Maesh前,服务不会受到影响,而Containous表示,他们在安装Maesh时,对CoreDNS维持最小且非侵入的更新,之后使用者也可以简单地移除。

作者:李建兴

原文:https://www.ithome.com.tw/news/132877

K8S中文社区微信公众号

评论 抢沙发

登录后评论

立即登录