Helm映射使用其他资源覆盖.values.yaml

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

这可能是一个简单的问题,但是我应该如何将不同的values.yaml与其他资源(例如Deployment,Service和Ingress)进行映射。

我有四个用于不同环境的values.yaml,我正在尝试使用Jenkins部署我的应用程序。例如,我想为每个values.yaml设置不同的copycountcount值。我的困惑是,是否应该更改Deployment.yaml中的其他内容?因为它是指向.Values.replicacount的引用,否则Jenkins中的命令将已经涵盖此内容?

deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ include "road-dashboard.fullname" . }}
  labels:
    app.kubernetes.io/name: {{ include "road-dashboard.name" . }}
    app.kubernetes.io/instance: {{ .Release.Name }}
    app.kubernetes.io/managed-by: {{ .Release.Service }}
    helm.sh/chart: {{ include "road-dashboard.chart" . }}
spec:
  replicas: {{ .Values.replicaCount }}

在詹金斯,我将在测试阶段使用以下命令

sh "helm upgrade --install a-service . -f values.test.yaml 

并且将在生产时使用以下命令

sh "helm upgrade --install a-service . -f values.prod.yaml
jenkins kubernetes-helm
1个回答
0
投票

“。Values.replicaCount”表示它将在values.yaml中查找变量名“ replicaCount”以获取它的值;因此,如果您想像这样更改它,则需要在该文件中设置所需的值(在您的情况下为-values.test.yaml和values.prod.yaml)-

replicaCount: 1  #no of replicas
© www.soinside.com 2019 - 2024. All rights reserved.