挂载外部文件用于生成configmap
配置如下:
values.yaml:
、、、
clickhouse:
volumeMounts:
- name: users
subPath: users.xml
mountPath: /etc/clickhouse-server/users.xml
- name: config
subPath: config.xml
mountPath: /etc/clickhouse-server/config.xml
volumes:
- name: users
configMap:
name: clickhouse-users2 #configmap的名称
items:
- key: users.xml
path: users.xml
defaultMode: 511
- name: config
configMap:
name: clickhouse-cfg2 #configmap的名称
items:
- key: config.xml
path: config.xml
defaultMode: 511
configMaps:
users:
name: clickhouse-users2
config:
name: clickhouse-cfg2
、、、
configmap.yaml(template):
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Values.clickhouse.configMaps.users.name }}
data:
users.xml: |
{{ .Files.Get "files/users.xml" | indent 4 }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Values.clickhouse.configMaps.config.name }}
data:
config.xml: |
{{ .Files.Get "files/config.xml" | indent 4 }}
将具体要被挂载的文件防御helm-chart的files目录下,没有此目录就新建,要和template目录平级:
查看k8s的configmap可以发现已经创建出来了,且内容就是文件里的内容: