首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用相同状态依赖的单独(后续)部署的Helm图表策略

使用相同状态依赖的单独(后续)部署的Helm图表策略
EN

Stack Overflow用户
提问于 2020-09-10 12:54:54
回答 1查看 247关注 0票数 0

我正在尝试编写我的第一个Helm图表,并想知道如何最好地处理一个特定的场景:两个共享相同依赖关系(数据库)的部署(后端),但是我希望能够在不同的时间部署每个后端。

我将尝试用一个例子来说明:

  • 在周一部署了后端A,它依赖于Postgres,
  • 在周二,John部署后端B,这在理想情况下依赖于相同的Postgres实例

我希望后端B使用后端A的Postgres实例,如果它存在,否则,设置一个新的实例。反之亦然,如果可能的话,有人会先部署后端B,后端A会重复使用Postgres。表面上看来,CREATE DATABASE ...需要运行,因此每个后端都有自己的DB,但不确定这是可能的。

使用Helm实现这一目标的推荐路径是什么?

EN

回答 1

Stack Overflow用户

发布于 2020-09-10 14:38:50

我建议让每个服务部署自己的数据库。让后端A和B在它们的PostgreSQL (或Helm 3 Chart.yaml)文件中列出一个Chart.yaml依赖项,并让每个后端都连接到{{ .Release.Name }}-postgres。不要试图共享数据库。

如果共享一个数据库对您来说真的很重要,那么单独部署它。helm install stable/postgres,或者使用云提供商的托管数据库系统(比如Amazon )。然后将两个后端图表的Helm值配置为指向该外部管理的数据库。

Helm实际上并没有基于集群中现有状态有条件地部署东西的概念:当您部署后端B时,Helm不能查看集群并说“后端A已经有了数据库,所以我不会部署自己的数据库”。如果要卸载A,也会出现类似的问题;它将不知道B是否依赖于其组件之一。在您在评论中引用的链接中,这正是“软依赖”的情况,“依赖关系可以单独管理”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63830149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档