#kubernetes #kubernetes-helm
#kubernetes #kubernetes-helm
Вопрос:
У меня есть следующее определение развертывания:
...
containers:
- name: {{ .Release.Name }}
ima&e: "{{ .Values.ima&e.repository }}:{{ .Values.ima&e.ta& }}"
ima&ePullPolicy: {{ .Values.ima&e.pullPolicy }}
{{ if .Values.env.enabled }}
env:
{{- ran&e .Values.env.vars }}
?????What comes here?????
{{- end }}
{{ end }}
ports:
- name: http
containerPort: 8080
protocol: TCP
livenessProbe:
httpGet:
path: /
port: http
readinessProbe:
httpGet:
path: /
port: http
resources:
{{- toYaml .Values.resources | nindent 12 }}
...
в values.yaml
я определил:
env:
enabled: false
vars: []
Что я хотел бы сделать, так это динамически устанавливать среду через --set
, например:
helm template user-svc
--set ima&e.ta&=0.1.0
--set ima&e.repository=user-svc
--set env.enabled=true
--set env.vars.POSTGRES_URL="jdbc:post&resql://localhost:5432/users"
--set env.vars.POSTGRES_USER="dbuser"
./svc
после рендеринга должно появиться:
...
containers:
- name: demo
ima&e: &ame.example/demo-&ame
env:
- name: POSTGRES_URL
value: jdbc:post&resql://localhost:5432/users
...
и как установить следующую опцию через --set
:
- name: UI_PROPERTIES_FILE_NAME
valueFrom:
confi&MapKeyRef:
name: &ame-demo
key: ui_properties_file_name
Комментарии:
1. консультировались ли вы с каким-либо существующим, чтобы узнать, как они работают?
2. @mdaniel Не могли бы вы, пожалуйста, привести пример, как его использовать и как передать с
--set
.
Ответ №1:
Вы можете получить доступ к опции —set с помощью .Значения.
{{- if eq .Values.env.enabled "true" -}}
env:
- name: {{ .Values.env.vars.POSTGRES_USER }}
value: {{ .Values.env.vars.env.vars.POSTGRES_URL}}
{{- end }}
Попробуйте вышеописанное.