6.6 命名空间隔离下的流量管理

默认情况下,Istio在pod创建之前将istio-init和istio-proxy注入到pod之中,使用istio-init对iptables进行初始化,将业务容器的流量拦截到istio-proxy,从而使得流量经由Envoy代理做出不同的决策处理。在Istio 1.1中引入了Sidecar资源对象,为这一拦截转发过程加入了一定的控制能力,可能给Istio的生产应用带来很好的效率提升。

Sidecar描述了Envoy代理的配置,用于中转到与其连接的工作负载实例的入站和出站通信。默认情况下,Istio将为网格中的所有Envoy代理设置相同的参数,使其具有到达网格中每个工作负载实例所需的必要配置,并接受与工作负载关联的所有端口上的流量。Sidecar资源提供了一种更加细粒度调整端口、协议的方法,使得代理可以配置在向工作负载转发入口流量或从工作负载转发出口流量时将接受哪些端口和协议。此外,可以限制代理在从工作负载实例转发出口流量时可以到达的服务列表。