我们正在为其中一个项目评估ISTIO。在该项目中,我们有大约200个容器和大约200个服务。每个容器的副本可能设置为2。因此,总共可能有400个容器,因此有400台ISTIO侧车。
在默认设置下,每台ISTIO侧车的内存消耗都高达300Mbytes。对于400辆侧面汽车,这将为侧面汽车提供120Gbytes(300Mbutes * 400)的内存。这似乎比应用程序所需的内存要求还要高。
有两个观察结果
在(1)上,我们(通过谷歌搜索)找到了一种解决方案。解决方法是将特使并发数设置为较小。
在(2)上,有什么解决方法吗?在我们的项目中,并不是每个容器都与其他每个容器/服务对话。给定的容器可以与一组目标服务进行对话(通常在5个左右)。给定集装箱的侧车能否为该集装箱使用的服务分配内存?
我想知道是否有人对ISTIO有类似的问题,以及他们如何解决内存消耗问题。
答案 0 :(得分:2)
您是正确的,#2是一个问题。 Istio邮件列表上对此进行了一些讨论:https://groups.google.com/forum/#!topic/istio-users/gRP4roSnHtQ
最重要的是,当前的实现(其中每个服务都配置为可以与其他每个服务进行通信)是O(N ^ 2),它无法扩展。到目前为止,关于修剪sidecar配置的各种选项的讨论只有很少的(主要是内部的)早期讨论,但是我认为相对较早的领域可能会开始一些工作。
更新 Istio 1.1包括一个新的Sidecar配置资源,可用于此目的。