Mixer 是采用通用的插件模型以实现高扩展性,插件被称为适配器。运维人员下发一些配置到这里面,这些模板又是由模板开发人员进行开发的,Istio提供了很多通用性的模板,上面简单地改造一下就能做出一个模板来。适配器也有很多种,各种后台、平台的都有。
Mixer 是抽象了不同后端的策略,遥测系统的细节,它就对这两个东西进行了抽象,形成了一套抽象的东西。
29.png
刚才介绍过适配器,再来介绍一下处理器,它是配置好的适配器,由运维人员进行配置,之后形成最终的处理器,负责真正往后台发东西。
它封装了与后端接口所需的逻辑,指定了配置规格,以及适配器。如果要在后台进行消息交互的话,所需要的操作参数在这里也会定义。而右边就是两个模板,第一个模板是 Prometheus,它是一个处理器,下面是它的一些指标。另外一个是白名单检查的模板,提供URL,以及它请求的接口返回值。
刚才介绍了整个通路是怎么打通的,包括适配器和处理器都是为了干这个事情,这个通路怎么建立?接下来要介绍的是这个参数怎么生成,它是请求属性到一个模板的映射结果。
Mixer 会收到 Envoy 发过来的很多属性(请求),请求里面包含的数据都称之为属性。通过它的模板来生成相应的具体参数,这边也是刚才两个例子里面对应的模板。上面是度量指标采集用的,下面是白名单。
32.png
33.png
这里有个遥测报告的示例,当收到一个请求之后会发生什么。它会以属性的形式,这边有个 Zipk,就直接上报了,这是因为 Envoy 原生的就支持Zipk。Envoy 支持后端监控的东西,就是 Zipk,所以它可以直接发给它。其他的需要通过 Mixer 来进行转发。

首先它收到这个属性之后,会把这个属性生成具体的实例。根据运维人员提供的配置,Mixer 将生成的数据分发到一组适配器,适配器要根据运维人员的配置来生成具体的数据,之后就可以把刚才所生成的实例往下发了。发到后端后可以进行进一步的分析和处理。
4、密钥管理
38.png
最后要介绍的就是安全相关的,Certificate Authority 这块,这是整个密钥管理的,可以看到服务和 Envoy 是通过 TCP 进行交互的,但是Envoy 和 Envoy 之间是通过 MTIS 进行加密,是双向的 TIS 加密。它的好处是,会在内部的每一个服务节点之间做加密,当然这是可选的,根据性能的需求来进行选择。
密钥管理分为四个步骤,这四步就是四个特性,第一,通过服务帐户生成的密钥和证书,然后再将密钥和证书部署到 Envoy上,它还支持周期性的对这证书进行更新,另外还支持撤销的功能。
这是它的两种部署方式,一种 K8S 的部署方式,另外如果是虚拟机,它会单独有一个节点代理,通过节点代理来发出签名请求给CA,CA再生成密钥和证书给代理,代理再来负责部署到 Envoy上。
具体的运行时它们都有各自的证书,开始进行双向的 TIS,这时候会到名字信息里面去查询,后端有没有权限访问,如果有的话就往下,没有就结束了。
第三步,如果收到一个客户端的请求,会去 Mixer 里面判断一下,它是白名单上的一个判断或者是不是黑名单上的一个判断,会影响“握手”的成功与否。最终它们就形成了安全交互的通道。
45.png
谢谢大家,今天我们主要给大家介绍一下 Istio 是什么,大家有初步的认识,并且对它里面比较关键的技术进行了介绍。
六、Q&A
Q1:现在有这么个项目,您怎么看像这种项目的发展?第二个问题,你们中心现在在做,您也分析的挺深入,未来是什么计划,会和paas有融合吗?
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-66285-5.html
给点颜色