Нигде не видел решения, по-этому делюсь
Если надо создать определённое число ресерсов, например в моём случае ингресс к каждому поду sts и использовать переменные внутри
Если не задать {{- $root := . -}} вы получите ошибку can’t evaluate field Values in type int
{{- $root := . -}}
{{- $count := pluck .Values.global.env .Values.nats.replicas | first | default .Values.nats.replicas._default }}
{{- range $i, $e := until (int $count) }}apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: natsboard-{{add1 $i }}
annotations:
nginx.ingress.kubernetes.io/auth-type: basic
nginx.ingress.kubernetes.io/auth-secret: natsboard-http-auth
kubernetes.io/ingress.class: "nginx"
kubernetes.io/tls-acme: "true"
spec:
{{- if (eq $root.Values.global.env "production") }}
tls:
- hosts:
- natsboard-{{add1 $i }}.{{ $root.Values.global.ci_url }}
secretName: natsboard-{{add1 $i }}-https
{{- end }}
rules:
- host: natsboard-{{add1 $i }}.{{ $root.Values.global.ci_url }}
http:
paths:
- path: /
backend:
serviceName: natsboard-{{add1 $i }}
servicePort: 80
---{{- end }}

Операции с переменными

http://masterminds.github.io/sprig/math.html

Например +1 к значению {{add1 $i }}

Перебрать значения

ports:
  {{- range untilStep 50 101 1 }}
    - containerPort: {{ . }}
    protocol: TCP
  {{- end }}

Полезные ссылки

https://banzaicloud.com/blog/creating-helm-charts-part-2/

https://helm.sh/docs/chart_template_guide/variables/

Без рубрики

Related Articles

0 Comment