github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/clickhouse-cluster/templates/cluster.yaml (about)

     1  apiVersion: apps.kubeblocks.io/v1alpha1
     2  kind: Cluster
     3  metadata:
     4    name: {{ include "clustername" . }}
     5    labels: {{ include "clickhouse-cluster.labels" . | nindent 4 }}
     6  spec:
     7    clusterDefinitionRef: clickhouse  # ref clusterdefinition.name
     8    clusterVersionRef: clickhouse-{{ default .Chart.AppVersion .Values.clusterVersionOverride }} # ref clusterversion.name
     9    terminationPolicy: {{ $.Values.terminationPolicy }}
    10    affinity:
    11      {{- with $.Values.topologyKeys }}
    12      topologyKeys: {{ . | toYaml | nindent 6 }}
    13      {{- end }}
    14    {{- with $.Values.tolerations }}
    15    tolerations: {{ . | toYaml | nindent 4 }}
    16    {{- end }}
    17    componentSpecs:
    18      {{- $i := 0 }}
    19      {{- range .Values.clickhouse }}
    20      - name: shard-{{ $i }}
    21        componentDefRef: clickhouse
    22        monitor: {{ $.Values.monitor.enabled }}
    23        replicas: {{ .replicaCount | default 2 }}
    24        serviceAccountName: {{ include "clickhouse-cluster.serviceAccountName" $ }}
    25        {{- with .tolerations }}
    26        tolerations: {{ .| toYaml | nindent 8 }}
    27        {{- end }}
    28        {{- with .resources }}
    29        resources:
    30          limits:
    31            cpu: {{ .limits.cpu | quote }}
    32            memory: {{ .limits.memory | quote }}
    33          requests:
    34            cpu: {{ .requests.cpu | quote }}
    35            memory: {{ .requests.memory | quote }}
    36        {{- end }}
    37        {{- if .persistence.enabled }}
    38        volumeClaimTemplates:
    39          - name: data
    40            spec:
    41              storageClassName: {{ .persistence.data.storageClassName }}
    42              accessModes:
    43                - ReadWriteOnce
    44              resources:
    45                requests:
    46                  storage: {{ .persistence.data.size }}
    47        {{- end }}
    48        {{- $i = add1 $i }}
    49      {{- end }}
    50      {{- if gt ( len $.Values.clickhouse ) 1 }}
    51      - {{- if $.Values.useClickHouseKeeper }}
    52        name: ch-keeper
    53        componentDefRef: ch-keeper
    54        {{- else }}
    55        name: zookeeper
    56        componentDefRef: zookeeper
    57        {{- end }}
    58        monitor: {{ $.Values.monitor.enabled }}
    59        replicas: {{ $.Values.keeper.replicaCount }}
    60        {{- with .tolerations }}
    61        tolerations: {{ .| toYaml | nindent 8 }}
    62        {{- end }}
    63        {{- with $.Values.keeper.resources }}
    64        resources:
    65          limits:
    66            cpu: {{ .limits.cpu | quote }}
    67            memory: {{ .limits.memory | quote }}
    68          requests:
    69            cpu: {{ .requests.cpu | quote }}
    70            memory: {{ .requests.memory | quote }}
    71        {{- end }}
    72        {{- if $.Values.keeper.persistence.enabled }}
    73        volumeClaimTemplates:
    74          - name: data
    75            spec:
    76              storageClassName: {{ $.Values.keeper.persistence.data.storageClassName }}
    77              accessModes:
    78                - ReadWriteOnce
    79              resources:
    80                requests:
    81                  storage: {{ $.Values.keeper.persistence.data.size }}
    82        {{- end }}
    83      {{- end }}