Sidecar 模式的一些限制,让这种共享代理模式成为可能,个人觉得mesh靠近路由转发、安全证书相关的核心功能会下沉到宿主机,甚至有可能成为网卡类的硬件设备。笔者觉得下面的两篇文章写的很好,便转发出来。下面也是文章中整理的。
1.侵入性:Sidecar 容器是以Admission Webhook的方式来注入,与应用容器属于同一个Pod,因此Sidecar的升级,必须伴随着业务容器的重建。对应用负载来可能是破坏性的(例如:长连接场景下滚动升级可能造成浪涌)。
2.资源利用率低:Sidecar 与应用一一对应,且必须预留足够的CPU和内存,可能导致整个集群资源利用率偏低;弹性扩缩容只能针对整个工作负载进行,无法单独对 Sidecar 进行。
3. 流量中断:流量的捕获和 HTTP 处理由 Sidecar 完成,成本高且可能破坏一些不兼容 HTTP 的实现。
https://mp.weixin.qq.com/s/5QMCba8lhSe98FARkXEJiw
https://github.com/istio/istio/tree/experimental-ambient