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

如何编写Helm模板实现多后端多路径的Ingress配置?

Helm Ingress多服务多路径模板修正方案

原模板的核心问题是嵌套range循环时的上下文丢失:当遍历.paths时,当前的.指向单个path字符串,无法直接引用外层service的name和port,导致变量引用错误。

修正后的Ingress模板

rules:
  - host: {{ $.Values.ingress.host }}
    http:
      paths:
        {{- range $service := .Values.ingress.service }}
          {{- range $path := .paths }}
          - path: {{ $path }}
            pathType: Prefix
            backend:
              service:
                name: {{ $service.name }}
                port:
                  number: {{ $service.port }}
          {{- end }}
        {{- end }}

关键修改说明

  1. 外层range循环通过$service := .将当前service对象保存为全局变量,避免内层循环覆盖上下文
  2. 内层遍历路径时,用$path接收单个路径值,明确区分不同层级的上下文
  3. 引用服务的名称和端口时,使用$service.name和$service.port,确保指向正确的外层服务配置

结合你提供的values文件,该模板会生成你期望的Ingress规则,每个路径都会对应所属服务的完整后端配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 20:57:03