首页 > 解决方案 > 无法定义端口的值范围

问题描述

我的目标是为一个类型的服务定义多个端口LoadBalancer,我不想一遍又一遍地复制粘贴相同的东西。

我确实找到了解决方案,但确定如何定义范围 - 我需要从 50000 到 50999 的所有值。

在我的服务中,我定义了范围:

{{- range $service.ports }}
  - name: tport
    protocol: TCP
    port: {{ . }}
  {{- end }}

在我的价值观文件中:

ports: 
  - 50000
  - 50001
  - 50999

我如何定义端口或更新服务模板来做到这一点?

标签: kuberneteskubernetes-helm

解决方案


将最小和最大端口作为两个不同的值放在 values.yaml 上,并使用模板上的范围,如下所示:

{{- range untilStep (.Values.config.min_port|int) (.Values.config.max_port|int) 1 }}
- port: {{ . }}
  targetPort: "tcp-{{ . }}"
  protocol: TCP
  name: "tcp-{{ . }}"
{{ -end }}

推荐阅读