【发布时间】:2021-01-04 02:12:42
【问题描述】:
我可以从属性文件创建配置映射并在 POD 中使用相同的配置文件。但是,我不想使用过去创建并随 helmchart 提供的 configmap。我想在 helmchart values.yaml 中提供一个文件名,从中动态创建配置映射..
欢迎任何建议/示例。
提前致谢 - 图泰
【问题讨论】:
标签: kubernetes configmap
我可以从属性文件创建配置映射并在 POD 中使用相同的配置文件。但是,我不想使用过去创建并随 helmchart 提供的 configmap。我想在 helmchart values.yaml 中提供一个文件名,从中动态创建配置映射..
欢迎任何建议/示例。
提前致谢 - 图泰
【问题讨论】:
标签: kubernetes configmap
看看kubernetes/charts issue 1310 中描述的方法是否适合你。
我建议我们允许覆盖安装到持久卷的
ConfigMap的名称。
这样,父图表就可以为这些ConfigMaps创建甚至制作模板。例如
values.yaml可以添加以下字段:
## alertmanager ConfigMap entries
##
alertmanagerFiles:
# ConfigMap override where full-name is {{.Release.Name}}-{{.Values.alertmanagerFiles.configMapOverrideName}}
configMapOverrideName: ""
...
## Prometheus server ConfigMap entries
##
serverFiles:
# ConfigMap override where full-name is {{.Release.Name}}-{{.Values.serverFiles.configMapOverrideName}}
configMapOverrideName: ""
...
您可以在 commit 2ea7764 中查看该问题的实现,作为覆盖的示例。
这与文件方法不同,您可以创建一个新的配置映射并替换旧的:
kubectl create configmap asetting --from-file=afile \
-o yaml --dry-run | kubectl replace -f -
【讨论】:
.Values.xxx.configMapOverrideName,但想法仍然存在:让 values.yaml 能够直接设置值,或从其他来源设置值。