开发者社区> 问答> 正文

在helm中的两个图表之间共享一个configmap

我想弄清楚如何在掌舵的两个图表之间共享数据。

我在一个图表中为配置图设置了一个唯一的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。

在两个图表之间共享配置图的最佳做法是什么?

展开
收起
k8s小能手 2019-01-09 13:50:49 1790 0
1 条回答
写回答
取消 提交回答
  • 整合最优质的专家资源和技术资料,问答解疑

    您还没有提供有关图表内容的大量信息,但听起来c1和c2都在定义并尝试安装configmap。Helm并不真正了解依赖关系的任何特殊内容,它只知道安装它们。如果被告知,它将很乐意尝试(并且失败)第二次安装图表。

    应该仅作为父图表的一部分创建和安装configmap。C1和C2应该能够通过名称引用它,即使它们中没有定义它们。

    2019-07-17 23:24:56
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
containerd: 镜像管理模块的优化 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载