因此,是否有可能在具有共同参考的头盔包之间共享同一吊舱。示例:
场景:
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软件包都可以单独部署。
谢谢!
答案 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
的完全相同。