kubernetes - Helm3:在 Configmap 中递归创建 .properties 文件
问题描述
以下是我拥有的文件:
users-values.yaml
文件:
users:
- foo
- baz
other-values.yaml
文件:
foo_engine=postgres
foo_url=some_url
foo_username=foofoo
baz_engine=postgres
baz_url=some_url
baz_username=bazbaz
config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: test-catalog
data:
{{- range $user := .Values.users }}
{{ . }}: |
engine.name={{ printf ".Values.%s_engine" ($user) }}
url={{ printf ".Values.%s_url" ($user) }}
username={{ printf".Values.%s_username" ($user) }}
{{- end }}
deployment-coordinator.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: "{{ .Release.Name }}-coordinator"
labels:
app.kubernetes.io/name: "{{ .Release.Name }}-coordinator"
spec:
replicas: 1
...
template:
metadata:
labels:
app.kubernetes.io/name: "{{ .Release.Name }}-coordinator"
spec:
volumes:
- name: config
configMap:
name: test-catalog
...
volumeMounts:
- name: config
mountPath: "/etc/config"
然后,我做一个helm install test mychart
.
当我exec
进入 pod 和cd
to 时/etc/config
,我希望在其中看到foo.properties
和baz.properties
文件,每个文件看起来像:
foo.properties: |
engine.name=postgres
url=some_url
username=foofoo
baz.properties: |
engine.name=postgres
url=some_url
username=bazbaz
下面 Pawel 的回答解决了我之前遇到的错误
unexpected bad character U+0022 '"' in command
但是,文件仍然没有在/etc/config
目录中创建。所以,我想知道是否可以使用 helm range 创建 .properties 文件,正如我在config.yaml
上面的文件中提到的那样。
我想以下面的方式这样做的原因是因为我有超过 10 个用户来创建 .properties 文件,而不仅仅是 foo 和 baz。只是认为如果可能的话我可以在它上面做一个 for 循环会更容易。
data:
{{- range $user := .Values.users }}
{{ . }}: |
engine.name={{ printf ".Values.%s_engine" ($user) }}
url={{ printf ".Values.%s_url" ($user) }}
username={{ printf".Values.%s_username" ($user) }}
{{- end }}
解决方案
推荐阅读
- azure - 是否可以从数据块访问 Azure 表服务
- charts - 谷歌分析:图表和表格显示不同的用户数量
- android - Android:如何使用 php mysql 实现 Searchable Spinner
- git - git pull origin branch-name 没有拉出所有提交“已经是最新的”
- android - Web 服务响应返回 0
- protocols - azure-iot-edge:如何在 IoT Edge 中启用 MQTT 协议摄取?
- azure - Azure 文件系统上的 MS Access 数据库
- r - 如何使用 Metafor/R 去除 Forest Plot 中的预印文本?
- php - 如何计算发票的总价?
- c# - Xaml Intellisense:指定自定义元素的属性类型的绑定上下文