我想根据环境(作为输入给出)选择不同的资源限制/请求
这是我图表中的Values.yaml文件
resources:
dev:
limits:
cpu: 100m
memory: 100Mi
requests:
cpu: 20m
memory: 10Mi
prod:
limits:
cpu: 1000m
memory: 1000Mi
requests:
cpu: 200m
memory: 100Mi
我使用以下命令部署图表:
helm upgrade --install --values=global_values.yaml
和位于global_values.yaml中:
global:
environmentSuffix: prod
我要做的是基于environmentSuffix
(开发...总共4个环境)选择合适的资源
类似这样的东西(当然不起作用)
resources:
limits:
cpu: {{ .Values.resources[.Values.global.environmentSuffix].limits.cpu }}
memory: {{ .Values.resources[.Values.global.environmentSuffix].limits.memory}}
requests:
cpu: {{ .Values.resources[.Values.global.environmentSuffix].requests.cpu }}
memory: {{ .Values.resources[.Values.global.environmentSuffix].requests.memory}}
我该如何实现?
答案 0 :(得分:1)
您可以使用Go text/template中的index
函数将环境资源存储在变量中,然后访问其值。
{{ $envResources := index .Values.resources .Values.global.environmentSuffix }}
resources:
limits:
cpu: {{ $envResources.limits.cpu }}