deployment/report-aggregator/templates/clickhouse.yaml (108 lines of code) (raw):

apiVersion: apps/v1 kind: Deployment metadata: name: clickhouse labels: app: clickhouse {{- include "common.labels" . | nindent 4 }} spec: selector: matchLabels: app: clickhouse {{- include "common.selectorLabels" . | nindent 6 }} template: metadata: labels: app: clickhouse {{- include "common.selectorLabels" . | nindent 8 }} spec: securityContext: fsGroup: 65532 initContainers: - name: restore-clickhouse-backup image: {{ .Values.images.clickhouse }} resources: requests: cpu: "0.1" memory: "512Mi" limits: cpu: "0.4" memory: "1024Mi" env: - name: RESTORE_DB value: "true" - name: DISABLE_PROGRESS value: "true" volumeMounts: &clickhouseVolumeMounts - name: clickhouse-data mountPath: /var/lib/clickhouse - name: s3 mountPath: /etc/s3 readOnly: true containers: - name: clickhouse image: {{ .Values.images.clickhouse }} resources: requests: cpu: "3" memory: "16Gi" limits: cpu: "4" memory: "32Gi" volumeMounts: *clickhouseVolumeMounts # backup requires access to volume, so, it cannot be done using k8s cron job - name: clickhouse-backup image: {{ .Values.images.clickhouseBackup }} resources: requests: cpu: "0.1" memory: 256Mi ephemeral-storage: "4Gi" limits: # should be at least 512 because MinIO uploads in chunks (128MB by default) plus some internal buffers cpu: "0.2" memory: 1024Mi ephemeral-storage: "4Gi" env: - name: CLICKHOUSE value: "127.0.0.1:9000" volumeMounts: *clickhouseVolumeMounts imagePullSecrets: - name: ghcr volumes: - name: clickhouse-data ephemeral: volumeClaimTemplate: spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Gi # Set this to match your ephemeral-storage requirement - name: s3 secret: secretName: ij-perf-data-s3-rw items: - key: AWS_ACCESS_KEY_ID path: accessKey - key: AWS_SECRET_ACCESS_KEY path: secretKey - key: AWS_SECRET_ACCESS_KEY path: secretKey - key: bucket-name path: bucket --- apiVersion: v1 kind: Service metadata: name: clickhouse labels: app: clickhouse spec: ports: - name: tcp port: 9000 protocol: TCP - name: http port: 8123 protocol: TCP selector: app: clickhouse