Отображение Helm переопределяет .values.yaml с другими ресурсами - PullRequest
0 голосов
/ 16 января 2020

Это может быть простой вопрос, но как мне сопоставить разные values.yaml с другими ресурсами, такими как Deployment, Service и Ingress.

У меня есть четыре values.yaml для разных сред, и я пытаюсь использовать Jenkins для развертывания моего приложения. Например, я хотел бы установить разные значения replicacount для каждого values.yaml. Моя путаница заключается в том, должен ли я что-то еще изменить в deploy.yaml? Поскольку это относится к .Values.replicacount, или команда в Jenkins уже это охватит?

deploy.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 }}

В jenkins я буду использовать команду ниже для стадии тестирования

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

и будет использовать приведенную ниже команду для prod

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

1 Ответ

1 голос
/ 16 января 2020

". Values.replicaCount" означает, что он будет искать в values.yaml имя переменной "replicaCount", чтобы получить ее значение; поэтому вам нужно установить желаемое значение в этом файле (в вашем случае - values.test.yaml и values.prod.yaml), если вы хотите изменить его следующим образом -

replicaCount: 1  #no of replicas
...