我们有头盔图来部署我们的应用程序。我们将ActionController::Parameters
文件用于应用程序属性,并将其加载到配置映射。但是用户通常使用自己的配置文件。
默认configuration.json文件打包在数据直接性下的掌舵图中。该文件读取为
configuration.json
以及值
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
{{ (.Files.Glob .Values.appConfigFile).AsConfig | indent 4}}
如果用户直接从资源库安装我们的图表,那么如何覆盖此配置文件? appConfigFile: data/configuration.json
不会填充配置映射。
如果将图表解压缩到目录中,则可以将自定义配置文件添加到图表目录中,并使用--set appConfigFile=/path/to/custom.json
的作品提供配置文件
直接从存储库中部署图表时,是否可以实现文件替代?
答案 0 :(得分:5)
将自定义配置添加到值文件并使用helm install
标志执行-f
是解决方案。
customValues.yaml
overrideConfig: true
customConfig:{
//Add your custom json here as variable value
}
配置映射Yaml
#If custom values file passed then overrideConfig variable will be set.
#So load configmap from customConfig variable
{{ if .Values.overrideConfig}}
app-config.json : |-
{{ toJson .Values.customConfig }}
{{ else }}
# Else load from the default configuration available in charts.
{{ (.Files.Glob .Values.appConfigFile).AsConfig indent 4 }}
{{ end }}
如果需要自定义配置
helm install -f customValues.yaml repo/chartName
不确定这是否是完美的解决方案,但最终还是走了这条路。