与HELM共享依赖

时间:2018-11-06 23:18:30

标签: kubernetes kubernetes-helm

因此,是否有可能在具有共同参考的头盔包之间共享同一吊舱。示例:

场景:

Package A
   ...
   - requirements.yml
         require: C


Package B
   ...
   - requirements.yml
         require: C

当我跑步时:

helm install A
helm install B

A和B项目的这两个Pod使用相同的C Pod。 可能吗?有文档可以帮助我吗?

PS:在我的案例中,C软件包是代理,但是A和B软件包都可以单独部署。

谢谢!

1 个答案:

答案 0 :(得分:3)

这对于Helm应该可以正常工作。背景here。这里的一个关键方面是update

  
      
  • 以该顺序创建/更新。
  •   

更新对象时,即Pod / Deployment / Service / etc等上的kubectl apply(如果该对象存在)将不会被更改,因此最后您将得到相同的对象。

同样,具有相同名称的Kubernetes对象也使用idempotency principle

  

所有对象都将具有唯一名称,以允许创建和检索幂等

在您的示例中:

helm install stable/packageA => which also installs PackageC
helm install stable/packageB => will update PackageC, but it's already present and won't change.

您必须确保PackageA的{​​{1}}的依赖项与PackageB的完全相同。