Kubernetes:单荚多容器,或多荚单容器
我有一个理论上的问题,我无法用网上找到的答案来回答。问题是:决定如何在POD中组合容器的规则是什么?。让我举例说明 我有这些微服务:Kubernetes:单荚多容器,或多荚单容器,kubernetes,microservices,Kubernetes,Microservices,我有一个理论上的问题,我无法用网上找到的答案来回答。问题是:决定如何在POD中组合容器的规则是什么?。让我举例说明 我有这些微服务: 认证 授权书 服务内容 (加上)OpenResty将一个调用转发到另一个调用,或建立流。(在K8中是否有可能以本机方式实现这一点?它似乎有基于nginx+lua的服务,但不确定它是如何工作的) 在本例中,我避免使用数据库和co,我假设它们是外部的,不由kubernetes管理 现在,正确的方法是在图像的左边还是右边? 左图:这似乎更容易让它工作,一切都在“本
- 认证
- 授权书
- 服务内容
- (加上)OpenResty将一个调用转发到另一个调用,或建立流。(在K8中是否有可能以本机方式实现这一点?它似乎有基于nginx+lua的服务,但不确定它是如何工作的)
右边看起来有点复杂,需要服务将每个吊舱暴露给其他吊舱。然而,在这里,我可以根据需要复制auth,而无需复制其他容器。另一方面,我会有很多豆荚,因为每个豆荚基本上都是一个容器。右图,每个豆荚都在自己的豆荚中。pod中的多个容器实际上只应在它们高度耦合或需要支持主容器(如数据加载器)时使用
通过单独的POD,它允许独立地更新和部署每个服务。它还允许更有效的扩展。将来,您可能需要2或3个内容播客,但仍然只需要一个授权。如果它们都在一起,你可以将它们全部缩放,因为你没有选择将它们放在同一个豆荚中 右侧图像是更好的选择。更易于管理、升级和扩展。应选择结构的右侧,理由是架构模型左侧的部署是紧密耦合的,不利于根据业务扩展能力的实际需求进行模块化。通常建议将不同的服务保留在不同的POD中,或者更好的部署可以独立扩展。其原因通常被认为是微服务体系结构的好处
- 更松散的耦合,允许不同的服务以各自的语言/技术独立开发
- 独立部署和更新,并且
- 也可以独立扩展