Istio优化方案.doc
1、Istio优化方案Istio优化方案此istio的优化方案使用的软件版本信息为:Kubernetes:1.18.1Istio:1.8.1我们在订购的公司kcs集群里部署Bookinfo服务,通过在kubernetes集群里创建70个namespace,并且在其中部署信息如下表:服务数pod数VirtualService数DestinationRule数280420140280内存优化使用Sidecar限制下发到Envoy信息数量我们知道istio是通过在pod中注入sidecar实现进出pod流量的拦截,在istio中是通过envoy实现sidecar功能,istio网格中,pilot会与en
2、voy建立长连接,并向其推送最新更新的网络策略。Envoy采用xDS接口从pilot中获取到Listener、Cluster、Route等动态配置信息,Envoy根据Listener的配置,结合Route和Cluster对流量进行处理。这里Envoy从pilot中获取全量下发的配置信息,当集群中使用istio的服务增多时,每个envoy里的配置信息量会快速增加。这里我们使用Sidecar配置优化下发到Envoy中的配置信息。部署完上述服务以后,我们进入某个namespace下的pod中查看Envoy资源占用情况从图中我们可以看到Envoy实际占用内存大概为86M,TCMalloc预留的系统内存
3、为138M,pod中占用的Envoy竟然占用86M的内存,随着产品数量的增加,部署服务的增多,Envoy占用的总内存数也会急剧增加,那么怎么解决这个问题呢?我们查看下reviews中是哪些文件占用了Envoy的内存我们知道reviews服务只需要访问ratings服务,因此在reviews的sidecar中只需要ratings服务相关的outbound配置就可以了。但是因为Envoy配置信息是全量下发,通过上图查询reviews pod中proxy的配置,可以看到Pilot下发的配置信息中包含了reviews、productpage、details这些它并不需要的outbound cluster信息,并且还包含了其他namespace的outbound cluster信息,这些outbound cluster没
《Istio优化方案.doc》由会员分享,可在线阅读,更多相关《Istio优化方案.doc(5页范文模板文档)》请在优智文库上查找。