我正在尝试部署一个项目,该项目被分成多个git仓库,困扰我的问题是:我们应该为kuberentes配置和部署文件创建一个单独的仓库还是每个仓库都应该包含自己的部署代码
第一个解决方案将所有内容放在一个地方,这使更改变得更容易,并且有人可以监视我们的部署如何更改(我还认为将整个项目部署到不同的登台服务器上可能会更容易-我们不需要更新每个项目回购以更改令牌,URL,数据库密码等内容...)
但是秒解决方案可以使每个存储库上的开发者轻松更改其代码的部署方式(每个存储库都知道如何部署),也可能更易于部署代码(如果我们将存储库用于kubernetes,则代码存储库应以某种方式通知kubernetes存储库代码已更新或注册表上已准备好新的docker映像)
答案 0 :(得分:2)
在Rancher 2.x中,项目提供资源的隔离以及资源配额。是将一个用户分配给一个项目,还是将多个用户共享一个项目,取决于组织的用例。
让我们说如果开发团队在集群中请求计算资源(例如16个内核和64 GB),那么管理员将为团队分配此配额。现在如何利用这些资源取决于团队成员。一个人可以使用所有分配的核心/内存启动一个工作负载,或者在多个工作负载之间共享。
还启用网络策略将阻止项目之间的通信。因此,质量检查团队和开发团队的工作负载是隔离的。
另一个用例是为一个组织应用程序专用一个项目。例如,Web服务器,jenkins,cms可以拥有自己的项目。
现在讨论配置存储,它遵循上述模式。作为开发人员,我不想处理除我以外的其他配置。但是作为SRE,我可能希望将所有生产配置分组在一个存储库中。
答案 1 :(得分:1)
如此众多的存储库的开销变得非常繁琐,并为您的过程中的问题引入了表面积。如果您要为平台配置多个存储库,则我将在每个存储库中包含配置,因此可以轻松地沿边码更改跟踪更改。
我们个人发现mono-repo体系结构解决了许多此类问题。