在舵图中共享通用组件

时间:2019-07-19 06:49:24

标签: kubernetes-helm

我有一个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等创建单独的图表,然后首先生成它。 但是我感觉这不是正确的方法。什么是解决此问题的好方法?

1 个答案:

答案 0 :(得分:0)

所有图表都由您开发吗?或者您正在使用第三方图表? 根据您使用图表的方式,这可能会改变解决方案。

您是否尝试过使用与DRY相关的内容? article对于在头盔中使用DRY很有帮助。

此外,如果您共享正在发生的错误,这将非常有帮助。