我混淆了多容器Pod设计模式。
(sidecar,适配器,大使)
我所了解的是:
Sidecar:容器+容器(共享相同的资源并执行其他功能)
适配器:容器+适配器(用于检查其他容器的状态)。例如监测)
大使:容器+代理(到外部网络)
但是,根据Istio -Installing the Sidecar的说法,他们引入代理作为一种侧面模式。
适配器是容器,代理也是容器。
那么,我的问题是,Sidecar模式和Adapter&大使模式之间有什么不同?
Sidecar模式的概念是否包含Adapter&大使模式?
发布于 2019-12-23 10:37:55
首先,您是对的,术语sidecar容器现在已经成为描述容器中额外容器的一个词。原(?)是一种特殊的多容器设计模式.
多容器设计模式
Sidecar模式
在您的容器中有一个额外的容器来增强、或,扩展主容器的功能。
大使模式
将网络连接代理到主容器的容器。
适配器模式
转换输出主容器的的容器。
这是取自2015年的原始文章:复合容器的模式
摘要
你的便条
但是,根据Istio -Installing的Sidecar,他们引入代理作为一个侧面模式。
在上面的模式中,大使和Adapter实际上都必须使用代理进行网络连接,但目的不同。使用Istio,这是完成的,例如终止mTLS连接,收集度量,以及更多的增强主容器。因此,它实际上是一个sidecar模式,但正如您正确指出的那样,令人困惑的是,所有模式都代理了连接--但目的不同。
发布于 2019-12-23 09:53:47
Sidecar是一个额外的容器,它扩展了主容器的功能。给出的一个例子是,您希望将日志发送到某个外部系统。在不更改业务逻辑(主容器)的情况下,可以将日志代理部署为sidecar容器。
大使是一个容器,它是系统其他部分的代理。一个很好的例子是部署大使容器,该容器具有Kubernetes API的凭据,因此不必使用来自客户端的身份验证。另一个很好的例子是使用大使作为红宝石缓存群集的代理。
现在,令人困惑的是,这两种模式都是,而不仅仅限于Kubernetes。然而,在Kubernetes中的实现通常使用Sidecar。换句话说,大使通常被实现为一个侧容器(如解释的这里)。
Istio特使绝对是作为一个侧集装箱来实现的。我从未见过它被描述为大使,可能是因为它不仅仅是将请求转发到系统的其他部分。
这两篇文章很好地解释了Sidecar大使和Adapter模式:
发布于 2022-10-28 05:43:29
sidecar容器的思想是添加一些在主容器中不存在的功能。添加一个容器来处理诸如日志之类的函数可以解决这个问题,而不是在其他部署中不需要臃肿的代码,同时保持解耦和可伸缩性。Prometheus监控和Fluentd测井利用侧加容器收集数据。
适配器容器的基本目的是修改数据,无论是在入口还是出口,以满足其他需求。也许,现有的企业范围内的监控工具有特定的数据格式需求。适配器将是一种有效的方法,可以标准化由监视工具摄取的主容器的输出,而不必修改监视器或容器化应用程序。适配器容器将多个应用程序转换为单一视图。
大使容器允许访问外部世界,而不必在入口控制器中实现服务或其他条目:代理本地连接、反向代理、限制HTTP请求、从主容器重路由到外部世界。
https://stackoverflow.com/questions/59451056
复制相似问题