与 HELM 共享依赖项

Shared dependencies with HELM

那么,是否可以在具有共同引用的 helm 包之间共享同一个 pod。示例:

场景:

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

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

当我运行:

helm install A
helm install B

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

PS:我的C包是一个broker,但是A&B包可以单独部署。

这应该适用于 Helm。一点背景 here。这里的一个关键方面是 update:

  • created/updated in that order.

当您更新一个对象时,即 Pod/Deployment/Service/etc 上的 kubectl apply 如果该对象存在,它不会被更改,因此您最终会得到相同的对象。

此外,同名的 Kubernetes 对象使用 idempotency principle:

All objects will have a unique name to allow idempotent creation and retrieval

在你的例子中:

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

您必须确保 PackageAPackageB 的依赖项与 PackageC.

的版本完全相同