visual-studio - Helm 是否应该为每个项目或每个解决方案配置图表
问题描述
我正在尝试将 helm 添加到与 eShopOnContainers 示例项目非常相似的微服务项目中。
https://github.com/dotnet-architecture/eShopOnContainers
我的问题是应该在解决方案级别、每个项目或两者的组合中添加图表文件夹和配置?
解决方案
我的实践经验是,在使用 Helm 实现的微服务架构中,每个单独的服务都应该有自己的 Helm 图表。
真正的问题是 Helm 不能很好地处理递归依赖。一个典型的架构声明是每个服务都有自己独立的存储,没有服务“借用”另一个存储。如果图表 A 和 B 都说requirements.yaml
他们需要一些数据库作为依赖项,并且您的“包装”图表 W 依赖于 A 和 B,那么 Helm 的解析器将实例化单个数据库依赖项图表并将其用于两个组件。
这种风格也更容易部署。如果您将 Docker 映像标记作为图表的参数,那么您可以完全独立于其他所有内容部署每个图表/服务。使用一个“包装”图表,您需要不断地重新部署该图表并协调对其特定值的更改。(反过来说,要知道整个系统的哪些特定版本都部署在一个地方有点棘手。)
推荐阅读
- c++ - Emacs - ccls:命名空间“std”中没有名为“filesystem”的成员
- julia - 如何在 Julia 中初始化摘要?
- html - Heroku:在应用程序启动时显示自定义页面
- asp.net-mvc - asp.net mvc 应用程序中的 SameSite 属性
- visual-studio - 如何在不关闭/打开文件的情况下重置 Visual Studio 中的“跟踪更改”?
- php - 如何使用 migrate 创建望远镜
- javascript - 我们如何、何时以及为什么在 react JavaScript 中清理我们的组件?
- reactjs - 我可以在不使用 Apollo 的情况下使用 graphql 进行反应吗?
- c++ - setup() 中的 Arduino 和对象实例化
- excel - Excel 打印到 PDF 到文件夹