refactor(clickhouse): split server and user config

Split the ClickHouse configuration into separate ConfigMaps for server
and user configurations. This allows more granular management of the
different configuration types and proper mounting to their respective
paths.

- Created separate serverConfig and userConfig under configOverride
- Added user-default.xml under userConfig
- Updated StatefulSet to mount each ConfigMap separately

Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
This commit is contained in:
rjshrjndrn 2025-04-11 17:19:40 +02:00
parent ea4e2ab198
commit 3272f5b9fd
3 changed files with 48 additions and 29 deletions

View file

@ -1,10 +1,20 @@
---
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: clickhouse-override name: clickhouse-server-override
data: data:
{{- range $filename, $content := .Values.configOverride }} {{- range $filename, $content := .Values.configOverride.serverConfig }}
{{ $filename }}: |-
{{ $content | indent 4 }}
{{- end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: clickhouse-user-override
data:
{{- range $filename, $content := .Values.configOverride.userConfig }}
{{ $filename }}: |- {{ $filename }}: |-
{{ $content | indent 4 }} {{ $content | indent 4 }}
{{- end }} {{- end }}

View file

@ -73,7 +73,9 @@ spec:
volumeMounts: volumeMounts:
- name: default-chi-openreplay-clickhouse-replicated-0-0-0 - name: default-chi-openreplay-clickhouse-replicated-0-0-0
mountPath: /var/lib/clickhouse mountPath: /var/lib/clickhouse
- name: clickhouse-override-config - name: clickhouse-override-server-config
mountPath: /etc/clickhouse-server/config.d
- name: clickhouse-override-user-config
mountPath: /etc/clickhouse-server/config.d mountPath: /etc/clickhouse-server/config.d
resources: resources:
{{- toYaml .Values.resources | nindent 12 }} {{- toYaml .Values.resources | nindent 12 }}
@ -90,9 +92,13 @@ spec:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
volumes: volumes:
- name: clickhouse-override-config - name: clickhouse-override-server-config
configMap: configMap:
name: clickhouse-override name: clickhouse-server-override
optional: true
- name: clickhouse-override-user-config
configMap:
name: clickhouse-user-override
optional: true optional: true
volumeClaimTemplates: volumeClaimTemplates:
- metadata: - metadata:

View file

@ -85,26 +85,29 @@ affinity: {}
storageSize: 100Gi storageSize: 100Gi
configOverride: configOverride:
zzoverride.xml: |- serverConfig:
<clickhouse> zzoverride.xml: |-
<logger> # <clickhouse>
<level>information</level> # <logger>
<console>true</console> # <level>information</level>
<log remove="remove"></log> # <console>true</console>
<errorlog remove="remove"></errorlog> # <log remove="remove"></log>
</logger> # <errorlog remove="remove"></errorlog>
<listen_host>0.0.0.0</listen_host> # </logger>
<keep_alive_timeout>100</keep_alive_timeout> # <listen_host>0.0.0.0</listen_host>
<concurrent_threads_soft_limit_num>64</concurrent_threads_soft_limit_num> # <keep_alive_timeout>100</keep_alive_timeout>
<concurrent_threads_soft_limit_ratio_to_cores>2</concurrent_threads_soft_limit_ratio_to_cores> # <concurrent_threads_soft_limit_num>64</concurrent_threads_soft_limit_num>
<concurrent_threads_scheduler>fair_round_robin</concurrent_threads_scheduler> # <concurrent_threads_soft_limit_ratio_to_cores>2</concurrent_threads_soft_limit_ratio_to_cores>
<max_server_memory_usage>102400000000</max_server_memory_usage> # <concurrent_threads_scheduler>fair_round_robin</concurrent_threads_scheduler>
<max_thread_pool_size>10000</max_thread_pool_size> # <max_server_memory_usage>102400000000</max_server_memory_usage>
<max_server_memory_usage_to_ram_ratio>0.8</max_server_memory_usage_to_ram_ratio> # <max_thread_pool_size>10000</max_thread_pool_size>
<uncompressed_cache_size remove="remove"></uncompressed_cache_size> # <max_server_memory_usage_to_ram_ratio>0.8</max_server_memory_usage_to_ram_ratio>
<mmap_cache_size>26214</mmap_cache_size> # <uncompressed_cache_size remove="remove"></uncompressed_cache_size>
</clickhouse> # <mmap_cache_size>26214</mmap_cache_size>
# another-config.xml: |- # </clickhouse>
# <clickhouse> # another-config.xml: |-
# <another_setting>value</another_setting> # <clickhouse>
# </clickhouse> # <another_setting>value</another_setting>
# </clickhouse>
userConfig:
user-default.xml: |-