Jus*_*tin 3 go-templates kubernetes-helm
在 Helm (使用 v3)中,如何使用其他变量在模板内构建变量?假设我有以下内容:
{{- $def := index .Values "default" -}}
apiVersion: v1
data:
POSTGRES_HOST: {{ $def.POSTGRES_HOST | b64enc | quote }}
POSTGRES_USER: {{ $def.POSTGRES_USER | b64enc | quote }}
POSTGRES_PASSWORD: {{ $def.POSTGRES_PASSWORD | b64enc | quote }}
POSTGRES_DB: {{ $def.POSTGRES_DB | b64enc | quote }}
kind: Secret
metadata:
name: server
type: Opaque
Run Code Online (Sandbox Code Playgroud)
然后我想做类似以下(伪代码)的事情,使用+
字符串连接:
DATABASE_URL: {{ "postgres://" + $def.POSTGRES_USER + ":" + $def.POSTGRES_PASSWORD + "@" + $def.POSTGRES_HOST + "/" + $def.POSTGRES_DB | b64enc | quote }}
Run Code Online (Sandbox Code Playgroud)
您可以使用 helm 字符串函数printf来实现此目的。
DATABASE_URL: {{ printf "postgres://%s:%s@%s/%s" $def.POSTGRES_USER $def.POSTGRES_PASSWORD $def.POSTGRES_HOST $def.POSTGRES_DB | b64enc | quote }}
Run Code Online (Sandbox Code Playgroud)
返回基于格式化字符串的字符串以及按顺序传递给它的参数。
printf "%s has %d dogs." .Name .NumberDogs
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7562 次 |
最近记录: |