我有一个Kubernetes集群,我想在其中部署各种公司相关的Pod和服务。 它们都需要一些通用组件(例如,入口,traefik,postgres)。 因此,我设计了一个图表结构:
- myproject charts - ingress - traefik - postgres templates - svc1 - pod1 - svc2 - pod2
我的想法是通过环境变量控制与公司相关的pod /服务,并进行如下部署:
helm install --set env="dev" --set company="cat" ./myproject
要么
helm install --set env="prod" --set company="dog" ./myproject
svc1,svc2 ...读取环境值。
无论如何,此构造不起作用。我收到一个错误,指出某些常见组件已经存在。 我明白了 我认为避免该问题的一种方法是为入口,traefik等创建单独的图表,然后首先生成它。 但是我感觉这不是正确的方法。什么是解决此问题的好方法?
答案 0 :(得分:0)
所有图表都由您开发吗?或者您正在使用第三方图表? 根据您使用图表的方式,这可能会改变解决方案。
您是否尝试过使用与DRY相关的内容? article对于在头盔中使用DRY很有帮助。
此外,如果您共享正在发生的错误,这将非常有帮助。