如何让helm模板只渲染一次模板

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

我有可以渲染部署的values.yml,有两个组件。这是我的values.yml 示例

workers:
          - name: default-worker
            metadata:
              name: default
              component: web-server
            serviceAccountName: default-worker-account
          - name: data-worker
            metadata:
              name: data
              component: web-server
            serviceAccountName: data-worker-account

这是部署.yml

{{- if $.Values.workers -}}
{{- range $worker := $.Values.workers -}}
{{- $fullName := printf "%s-%s" (include "chart-app.fullname" $) $worker.name -}}
{{- $name := printf "%s-%s" (include "chart-app.name" $) $worker.name -}}
apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ $fullName }}

它将呈现两个工作部署部署。

# Source: rails-app/templates/worker.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: default-worker
# Source: rails-app/templates/worker.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: data-worker
....

如何只渲染一个部署?例如只是

# Source: rails-app/templates/worker.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: data-worker

我需要提取结果,但我只需要呈现一个部署

提前致谢

kubernetes-helm
1个回答
0
投票

这样的事情就可以了

{{- if $.Values.workers -}}
{{- with (first $.Values.workers) -}}
{{- $fullName := printf "%s-%s" (include "chart-app.fullname" $) .name -}}
{{- $name := printf "%s-%s" (include "chart-app.fullname" $) .name -}}
apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ $fullName }}
{{end}}
{{end}}
© www.soinside.com 2019 - 2024. All rights reserved.