值文件中的嵌套变量插值[重复]

问题描述 投票:0回答:1

在值文件中,我在变量扩展和插值方面遇到一些问题。 我们在值文件的顶部定义了一个变量,例如:

webserverInternalIngressHost: 'service.{{ .Values.global.namespace }}.{{ .Values.global.domain }}'

然后使用如下:

deployments:
  webserver:
    ingress:
      internal:
        tls:
          - secretName: .......
            hosts:
              - '{{ .Values.webserverInternalIngressHost }}'

这不会被插值,最终的模板是:

spec:
  ingressClassName: nginx-internal
  tls:
    - hosts:
        - "service.{{ .Values.global.namespace }}.{{ .Values.global.domain }}" # <<< Variables not expanded
      secretName: .....

如果我们使用

'service.{{ .Values.global.namespace }}.{{ .Values.global.domain }}'
内联,例如:

deployments:
  webserver:
    ingress:
      internal:
        tls:
          - secretName: .......
            hosts:
              - 'service.{{ .Values.global.namespace }}.{{ .Values.global.domain }}'

然后输出如预期:

spec:
  ingressClassName: nginx-internal
  tls:
    - hosts:
        - "service.namespace.domain.us" <<< Variables expanded
      secretName: ......

我可以做些什么来动态确保这个“嵌套”变量插值?

kubernetes-helm
1个回答
0
投票

我能够做到这一点:

webserverInternalIngressHost: service.{{ .Values.global.namespace }}.{{ .Values.global.domain }}

deployments:
  webserver:
    ingress:
      internal:
        tls:
          - secretName: .......
            hosts:
              - '{{ tpl .Values.webserverInternalIngressHost . }}'
© www.soinside.com 2019 - 2024. All rights reserved.