【发布时间】:2018-09-14 13:46:54
【问题描述】:
我想动态生成我的模板文件,这是我的情况:
{{- $v := (.Files.Get "values-deployment-nginx.yaml") | fromYaml }}
spec:
{{- range $key, $value := $v.containers }}
containers:
- name: {{ $value.name }}
image: {{ .Values.{{ $value.name }}-image }}:{{ .Values.{{ $value.name }}--tag }}
我想先获取 {{ $value.name }},它可能是一个类似“nginx”的字符串,然后我想使用 {{ .Values.nginx-image }} 来获取正确的图像值在值文件中。
有没有办法做到这一点?非常感谢!
我有很多动态生成的部署模板,但是只想把图片和标签暴露给values文件,这样我们在安装chart的时候可以传递不同的图片信息。其他变量在 (.Files.Get "values-deployment-nginx.yaml") 中,就像这样(也是动态生成的)。所以在生成模板时,我想在值文件中匹配图像和标签。
像这样的值文件:
deployment-nginx-imagerepo: nginx
deployment-nginx-imagetag: latest
values-deployment-nginx.yaml 像这样(由其他项目生成):
autoscale: []
containers:
- envs: []
imagerepository: nginx
imagetag: latest
itemid: n79fecd51_6716_fa65_5e64_aeed8ed6ab7e
name: nginx
resource:
maxcpu: ""
maxmemory: ""
mincpu: "0.5"
minmemory: 512m
volumemounts: []
name: details
replicas: 1
schedulpolicy: []
storages: []
type: deployment
【问题讨论】:
标签: kubernetes-helm go-templates