控制面( Control plane )
控制面是整个服务网格的控制中枢,负责整个网格的管理,包括sidecar注入,服务发现和服务治理配置分发以及证书管理功能等。
数据面( Data plane )
数据面是实际执行流量治理的代理服务器,在istio里面采用Envoy作为流量代理服务器,Envoy会拦截进出业务服务的流量并执行相应的流量治理策略。
sidecar 注入( sidecar injection )
在业务pod内部增加一个sidecar,用于实现流量拦截和代理功能,称为sidecar注入;在K8S的使用场景下,一般采用webhook机制实现业务无感知的sidecar注入。
虚拟服务( Virtual Service )
虚拟服务是istio定义的流量治理对象,能够实现对指定服务配置路由规则的功能,匹配到该路由规则的请求将根据配置被转发到相应的目标。
目标规则( Destination Rule )
目标规则时istio定义的用于管理流量转发目标服务的对象,比如可以使用目标规则设置要转发的目标服务的版本、超时重试策略、熔断策略等。
对等身份认证( Peer Authentication )
在服务网格内,服务之间通信都要经过sidecar,对等身份认证策略定义了sidecar之间的通信安全策略,可以是明文传输,或者强制TLS加密通信,或者两种都可以。
请求身份认证( Request Authentication )
请求身份认证定义了服务对于收到的请求的身份认证策略,比如可以配置服务按照jwt策略对请求的身份进行认证,认证之后可以基于请求者的身份做进一步的访问授权策略。
授权策略( Authorization Policy )
授权策略支持对请求是否有权访问当前资源进行限制,可以基于请求身份认证中获取的用户身份信息,或者请求的其他信息对请求的放通或者拒绝做限制。