clickhouse: Add S3 cold tier and additional replicas
This commit is contained in:
@@ -1,2 +1,4 @@
|
|||||||
clickhouse:
|
clickhouse:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
s3:
|
||||||
|
enabled: true
|
||||||
|
|||||||
@@ -3,10 +3,11 @@ clickhouse:
|
|||||||
autosync: true
|
autosync: true
|
||||||
clusterName: clickhouse
|
clusterName: clickhouse
|
||||||
keeperName: clickhouse-keeper
|
keeperName: clickhouse-keeper
|
||||||
# Headless client service the operator creates: <clusterName>-clickhouse-headless
|
|
||||||
serviceName: clickhouse-clickhouse-headless
|
serviceName: clickhouse-clickhouse-headless
|
||||||
|
storageClass: ceph-rbd
|
||||||
storage: 50Gi
|
storage: 50Gi
|
||||||
keeperStorage: 5Gi
|
keeperStorage: 5Gi
|
||||||
|
keeperReplicas: 3
|
||||||
resources:
|
resources:
|
||||||
cpuRequest: "2"
|
cpuRequest: "2"
|
||||||
memoryRequest: 4Gi
|
memoryRequest: 4Gi
|
||||||
@@ -15,11 +16,12 @@ clickhouse:
|
|||||||
user: default
|
user: default
|
||||||
credentialsSecret: clickhouse-credentials
|
credentialsSecret: clickhouse-credentials
|
||||||
credentialsKey: password
|
credentialsKey: password
|
||||||
# Only used when S3-tiered storage is enabled in cluster.yaml.gotmpl (currently disabled).
|
|
||||||
s3:
|
s3:
|
||||||
|
enabled: false
|
||||||
endpoint: "http://10.255.241.30:30080"
|
endpoint: "http://10.255.241.30:30080"
|
||||||
bucket: clickhouse
|
bucket: clickhouse
|
||||||
secret: clickhouse-s3
|
secret: clickhouse-s3
|
||||||
|
moveFactor: 0.2
|
||||||
ttl:
|
ttl:
|
||||||
logs: 720h
|
logs: 720h
|
||||||
traces: 336h
|
traces: 336h
|
||||||
|
|||||||
@@ -7,53 +7,59 @@ clickhouse:
|
|||||||
spec:
|
spec:
|
||||||
shards: 1
|
shards: 1
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
podTemplate:
|
||||||
|
nodeHostnameKey: kubernetes.io/hostname
|
||||||
settings:
|
settings:
|
||||||
defaultUserPassword:
|
defaultUserPassword:
|
||||||
secret:
|
secret:
|
||||||
name: {{ .Values.clickhouse.credentialsSecret }}
|
name: {{ .Values.clickhouse.credentialsSecret }}
|
||||||
key: {{ .Values.clickhouse.credentialsKey }}
|
key: {{ .Values.clickhouse.credentialsKey }}
|
||||||
# S3-tiered storage (hot on local PVC, cold on TOS). Disabled for now — re-enable
|
# Single replica: no cross-replica database sync needed. The operator's sync also
|
||||||
# together with the containerTemplate.env block below and the s3 block in env.yaml.gotmpl.
|
# breaks on the OTel-created (non-replicated) `otel` database. Revisit for multi-replica HA.
|
||||||
# extraConfig:
|
enableDatabaseSync: false
|
||||||
# storage_configuration:
|
{{- if .Values.clickhouse.s3.enabled }}
|
||||||
# disks:
|
extraConfig:
|
||||||
# s3:
|
storage_configuration:
|
||||||
# type: s3
|
disks:
|
||||||
# endpoint: {{ .Values.clickhouse.s3.endpoint }}/{{ .Values.clickhouse.s3.bucket }}/data/
|
s3:
|
||||||
# use_environment_credentials: true
|
type: s3
|
||||||
# policies:
|
endpoint: {{ .Values.clickhouse.s3.endpoint }}/{{ .Values.clickhouse.s3.bucket }}/data/
|
||||||
# tiered:
|
use_environment_credentials: true
|
||||||
# volumes:
|
policies:
|
||||||
# hot:
|
tiered:
|
||||||
# disk: default
|
volumes:
|
||||||
# cold:
|
hot:
|
||||||
# disk: s3
|
disk: default
|
||||||
# move_factor: 0.2
|
cold:
|
||||||
# merge_tree:
|
disk: s3
|
||||||
# storage_policy: tiered
|
move_factor: {{ .Values.clickhouse.s3.moveFactor }}
|
||||||
|
merge_tree:
|
||||||
|
storage_policy: tiered
|
||||||
|
{{- end }}
|
||||||
containerTemplate:
|
containerTemplate:
|
||||||
# Guarantee CPU via requests; no CPU limit so ClickHouse can burst across cores
|
|
||||||
# (a CPU limit throttles merges/queries).
|
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: {{ .Values.clickhouse.resources.cpuRequest }}
|
cpu: {{ .Values.clickhouse.resources.cpuRequest }}
|
||||||
memory: {{ .Values.clickhouse.resources.memoryRequest }}
|
memory: {{ .Values.clickhouse.resources.memoryRequest }}
|
||||||
limits:
|
limits:
|
||||||
memory: {{ .Values.clickhouse.resources.memoryLimit }}
|
memory: {{ .Values.clickhouse.resources.memoryLimit }}
|
||||||
# env: # S3 tiering credentials — re-enable with the storage_configuration block above.
|
{{- if .Values.clickhouse.s3.enabled }}
|
||||||
# - name: AWS_ACCESS_KEY_ID
|
env:
|
||||||
# valueFrom:
|
- name: AWS_ACCESS_KEY_ID
|
||||||
# secretKeyRef:
|
valueFrom:
|
||||||
# name: {{ .Values.clickhouse.s3.secret }}
|
secretKeyRef:
|
||||||
# key: AWS_ACCESS_KEY_ID
|
name: {{ .Values.clickhouse.s3.secret }}
|
||||||
# - name: AWS_SECRET_ACCESS_KEY
|
key: AWS_ACCESS_KEY_ID
|
||||||
# valueFrom:
|
- name: AWS_SECRET_ACCESS_KEY
|
||||||
# secretKeyRef:
|
valueFrom:
|
||||||
# name: {{ .Values.clickhouse.s3.secret }}
|
secretKeyRef:
|
||||||
# key: AWS_ACCESS_KEY_SECRET
|
name: {{ .Values.clickhouse.s3.secret }}
|
||||||
|
key: AWS_SECRET_ACCESS_KEY
|
||||||
|
{{- end }}
|
||||||
dataVolumeClaimSpec:
|
dataVolumeClaimSpec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
storageClassName: {{ .Values.clickhouse.storageClass }}
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: {{ .Values.clickhouse.storage }}
|
storage: {{ .Values.clickhouse.storage }}
|
||||||
@@ -63,10 +69,14 @@ keeper:
|
|||||||
meta:
|
meta:
|
||||||
name: {{ .Values.clickhouse.keeperName }}
|
name: {{ .Values.clickhouse.keeperName }}
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: {{ .Values.clickhouse.keeperReplicas }}
|
||||||
|
podTemplate:
|
||||||
|
podDisruptionBudget:
|
||||||
|
maxUnavailable: 1
|
||||||
dataVolumeClaimSpec:
|
dataVolumeClaimSpec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
storageClassName: {{ .Values.clickhouse.storageClass }}
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: {{ .Values.clickhouse.keeperStorage }}
|
storage: {{ .Values.clickhouse.keeperStorage }}
|
||||||
|
|||||||
Reference in New Issue
Block a user