gpt4 book ai didi

kubernetes-helm - .Values 中的 helm 变量

转载 作者:行者123 更新时间:2023-12-04 02:57:18 26 4
gpt4 key购买 nike

我想动态生成我的模板文件,这是我的例子:

{{- $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 }}来获取正确的图像值在值文件中。
有办法做到这一点吗?非常感谢!


我有很多动态生成的部署模板,但是只想把图片和标签暴露给值文件,这样我们在安装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

最佳答案

Go text/template language我相信 index 函数会做到这一点。 (.Values 通常是一个映射,YAML 映射和列表转换为 Go 映射和切片。)(还要记住 sprig 库中的几乎所有内容都可用。)

image: {{ index .Values (printf "%s-image" $value.name) }}:{{ index .Values (printf "%s-tag" $value.name) }}

关于kubernetes-helm - .Values 中的 helm 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52333336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com