我想弄清楚如何在掌舵的两个图表之间共享数据。
我在一个图表中为配置图设置了一个唯一的YAML图表。我们称之为图表cm1。它定义它的名字是这样的:
name: {{ .Release.Name }}-maps
然后我设置了两个图表来部署容器,这些容器想要访问c1中configmap中的数据。我们称它们为c1和c2。c1有一个requirements.yaml引用了cm1的图表,同样也引用了c2。现在我有一个父图表试图将它们全部组合在一起,我们称之为p1。p1在requirements.yaml中定义了c1和c2。我helm install --name k1 p1和我得到一个错误:
错误:发布k1失败:configmaps“k1-maps”已经存在。
我认为当helm构建其依赖树时,它会看到在首次加载图表cm1时已经定义了k1-maps。
在两个图表之间共享配置图的最佳做法是什么?
您还没有提供有关图表内容的大量信息,但听起来c1和c2都在定义并尝试安装configmap。Helm并不真正了解依赖关系的任何特殊内容,它只知道安装它们。如果被告知,它将很乐意尝试(并且失败)第二次安装图表。
应该仅作为父图表的一部分创建和安装configmap。C1和C2应该能够通过名称引用它,即使它们中没有定义它们。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。