每天进步一点点

2020-05-19【Istio流量治理组件】

2020-05-19  本文已影响0人  桢桢claire
成群的火烈鸟

今日鸡汤:

就像余华那样:“我不再装模作样的拥有很多友人,而是回到孤单之中,以真正的自我开始新的生活。”

毕竟,只有自己能和自己呆一辈子,是吧。

今天看看Istio流量治理的各个组件:

Istio是如何通过VirtualService进行路由规则配置的?

VirtualService定义了对特定目标服务的一组流量规则,形式上为一个虚拟服务,将满足条件的流量都转发到对应的服务后段。通过VirtualService的配置,应用在访问目标服务时,只需要指定目标服务的地址即可,不需要额外指定其他目标资源的信息。在实际请求中到底将流量路由到由哪种特征的后端,就基于在VirtualService中配置的路由规则执行。

VirtualService包含什么字段?

VirtualService 包含hosts和gateway这两个公共字段,以及http、tcp和tls三个复合字段。

Gateway描述应用流量规则的Gateway,VirtualService描述的规则可以作用到网格里的sidecar和入口的Gateway。

HTTPRoute用于处理HTTP流量,使用http字段的规则表示:满足HTTPMatchRequest条件的流量都被路由到HTTPRouteDestination,执行HTTPRedirect、HTTPRewrite、HTTPRetry、HTTPFaultInjection、CorsPolicy等策略。

TLSRoute用于处理非终结的TLS和HTTPS的流量,使用SNI做路由选择。匹配TLSMatchAttributes条件的流量都会路由到RouteDesitination。

所有不满足HTTP和TLS条件的流量都会用TCPRoute 。

Istio是如何通过DestinationRule进行目标规则配置的?

DestinationRule定义了满足路由规则的流量到达后端的访问策略。在Istio可以配置目标服务的负载均衡策略、连接池大小、异常实例驱除等规则。

DestinationRule 与VirtualService有什么区别?

VirtualService 描述的是满足什么条件的流量被哪个后端处理,而DestinationRule 描述的是这个请求到达某个后端后应该怎么处理。

DestinationRule的流量策略有哪些?

使用TrafficPolicy来定义规则内容,包括负载均衡、连接池大小、异常点检测等。

DestinationRule的应用场景有哪些?

Istio是如何通过Gateway进行服务网关配置的?

Istio通过Gateway将网格内的服务发布成外部可访问的服务,还可以通过Gateway配置外部访问的端口、协议与内部服务的映射关系。

Gateway如何与VirtualService配合使用的?

Gateway定义了服务从外面怎么访问,VirtualService 定义了匹配到内部服务后怎样流转。

Gateway有哪些应用场景?

  1. 将网格内的HTTP服务发布为HTTP外部访问。
  2. 将网格内的HTTPS服务发布为HTTPS外部访问。 内部服务本身为HTTPS服务,Istio Gateway的协议为HTTPS,TLS模式为 PASSTHROUGH,表示Gateway只透传应用程序提供的HTTPS内容。
  3. 将网格内的HTTP服务发布为HTTPS外部访问。内部服务为HTTP服务,借助Gateway的配置提供HTTPS的对外访问能力。这里,Gateway协议为HTTPS,TLS 模式为SIMPLE,表示Gateway提供标准的单向TLS认证。
  4. 将网格内的HTTP服务发布为双向HTTPS外部访问。在Gateway上开放HTTPS服务,Gateway的模式设置为MUTUAL。
  5. 将网格内的HTTP服务发布为HTTPS外部访问和HTTPS内部访问。Gateway模式为SIMPLE。

Istio是如何通过ServiceEntry进行外部服务配置的?

ServiceEntry可以把外部服务加入Istio的服务发现,注册到网格中。

上一篇下一篇

猜你喜欢

热点阅读