kubernetes-helm - 如何在这个Helm模板函数中使用printf?

标签 kubernetes-helm

我在 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]

知道我是否可以在函数中执行此操作仍然很酷,因此如果有人回答了实际问题,我会接受它作为答案。

关于kubernetes-helm - 如何在这个Helm模板函数中使用printf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66497769/

相关文章:

azure-resource-manager - Helm 与 A​​KS 和 ARM 模板

kubernetes - 如何获取包含从 helm chart 填充的所有值的 list 文件?

kubernetes - 范围范围内的{{If}}子句看不到值

elasticsearch - 用于生产部署的 bitnami elasticsearch helm 图表与官方弹性 helm 图表与 ECK

jenkins - Kubernetes Helm 安装 stable/jenkins 调用 Master.* 值时出现弃用错误

等待条件时terraform helm释放超时

kubernetes - Helm - 检查值是否不存在或列表的一部分

kubernetes - 仅当自定义资源定义存在时才使用 helm 创建 Kubernetes 资源

java - 为什么 active /就绪性探测失败?

maven - Maven/Gradle容器无法在内部k8s集群上构建项目