kubernetes-helm - 如何在这个 Helm 模板函数中使用 printf?
问题描述
我在我的templates/_helpers.yaml
文件中创建了这个 Helm 模板函数。index .Values...
它只是根据传入的环境获取数组元素(部分)的值。它工作正常。
{{/*
Function to get min CPU units
*/}}
{{- define "microserviceChart.minCpuUnits" -}}
{{ index .Values.valuesPerEnvironment.cpuUnits ((pluck .Values.environment .Values.environments | first | default .Values.environments.sandbox) | int) | quote }}
{{- end }}
例如,在我的 values.yaml 文件中
environments:
sandbox: 0
staging: 1
production: 2
valuesPerEnvironment:
cpuUnits: [512, 512, 1024]
所以我的模板函数"512", "512", "1024"
根据我传入的环境返回。但是,我可以使用 printf 来添加m
这些值吗?换句话说,我希望它返回"1024m"
生产。我尝试了以下方法,但出现语法错误
{{/*
Function to get min CPU units
*/}}
{{- define "microserviceChart.minCpuUnits" -}}
{{- printf "%dm" index .Values.valuesPerEnvironment.cpuUnits ((pluck .Values.environment .Values.environments | first | default .Values.environments.sandbox) | int) | quote }}
{{- end }}
解决方案
见鬼吧。我只是values.yaml
这样做了,我得到了同样的结果。
environments:
sandbox: 0
staging: 1
production: 2
valuesPerEnvironment:
cpuUnits: [512m, 512m, 1024m]
知道我是否可以在函数中执行此操作仍然很酷,所以如果有人回答实际问题,我会接受它作为答案。
推荐阅读
- machine-learning - Output of Image recognition as a label in supervised learning
- c# - Deserialize XML Elements which are under same node into 2 different Object
- batch-file - 使用“CALL”命令的问题
- reactjs - 根据其他钩子的结果反应钩子
- javascript - 在网页上,所有文本框都有相同的 ID,我想通过 Chrome 控制台中的 JavaScript 在所有框中写入相同的文本
- c# - 如果嵌套数组应具有不同的 json 元素,如何使用 C#(.net Core)将嵌套的 Json 存储到 MongoDB
- javascript - 排序最新日期时间
- python - 熊猫日期时间排序自动删除时间戳
- python - 将余弦平方拟合到python中的点
- angular - CDK 无限滚动结束检查