You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kubernetes Chart中使用含斜杠的变量?

解决Helm模板中访问带斜杠的Resources参数问题

你遇到的问题核心是Helm模板的点语法(.)无法直接处理包含特殊字符(比如斜杠/)的键名。当values.yaml里定义了resources: nvidia.com/gpu: 1这种带斜杠的键时,直接用.Values.resources.nvidia.com/gpu会被模板引擎错误解析,导致执行失败。

正确的两种写法:

1. 使用index函数(推荐)

index函数支持通过字符串形式的键名访问嵌套的Values值,能完美处理带特殊字符的键:

{{- if index .Values.resources "nvidia.com/gpu" }}
  # 这里写入你需要插入的逻辑,比如GPU资源的请求/限制配置
  resources:
    requests:
      nvidia.com/gpu: {{ index .Values.resources "nvidia.com/gpu" }}
    limits:
      nvidia.com/gpu: {{ index .Values.resources "nvidia.com/gpu" }}
{{- end }}

2. 用括号包裹带特殊字符的键

另一种方式是将带斜杠的键用引号括起来,通过括号形式访问:

{{- if .Values.resources."nvidia.com/gpu" }}
  # 插入你的目标逻辑
  resources:
    requests:
      nvidia.com/gpu: {{ .Values.resources."nvidia.com/gpu" }}
    limits:
      nvidia.com/gpu: {{ .Values.resources."nvidia.com/gpu" }}
{{- end }}

逻辑验证

这两种写法都能正确识别values.yaml中nvidia.com/gpu的参数值:当该值存在且不为空时,模板会渲染出你需要的资源配置;如果未定义该键或值为空/0,模板会自动跳过这段逻辑。

内容的提问来源于stack exchange,提问作者che yang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:46:09