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

     1  apiVersion: apps.kubeblocks.io/v1alpha1
     2  kind: Cluster
     3  metadata:
     4    name: {{ include "kblib.clusterName" . }}
     5    labels: {{ include "kblib.clusterLabels" . | nindent 4 }}
     6    annotations:
     7      "kubeblocks.io/extra-env": '{"KB_KAFKA_ENABLE_SASL":"{{ $.Values.saslEnable }}","KB_KAFKA_BROKER_HEAP":"{{ $.Values.brokerHeap }}","KB_KAFKA_CONTROLLER_HEAP":"{{ $.Values.controllerHeap }}","KB_KAFKA_PUBLIC_ACCESS":"{{ $.Values.extra.publiclyAccessible }}"}'
     8  spec:
     9    clusterDefinitionRef: kafka # ref clusterdefinition.name
    10    clusterVersionRef: {{ .Values.version }}
    11    terminationPolicy: {{ .Values.extra.terminationPolicy }}
    12    {{- include "kblib.affinity" . | indent 2 }}
    13    componentSpecs:
    14      {{- if eq "combined" $.Values.mode }}
    15      - name: broker
    16        componentDefRef: kafka-server
    17        tls: {{ $.Values.tlsEnable }}
    18        {{- if $.Values.tlsEnable }}
    19        issuer:
    20          name: KubeBlocks
    21        {{- end }}
    22        replicas: {{ $.Values.replicas }}
    23        monitor: {{ $.Values.monitorEnable }}
    24        serviceAccountName: {{ include "kblib.serviceAccountName" . }}
    25        {{- include "kblib.componentResources" . | indent 6 }}
    26        {{- include "kblib.componentServices" . | indent 6 }}
    27        {{- if $.Values.storageEnable }}
    28        volumeClaimTemplates:
    29          - name: data
    30            spec:
    31              storageClassName: {{ $.Values.storageClassName }}
    32              accessModes:
    33                - ReadWriteOnce
    34              resources:
    35                requests:
    36                  storage: {{ print $.Values.storage "Gi" }}
    37          - name: metadata
    38            spec:
    39              storageClassName: {{ $.Values.metaStorageClassName }}
    40              accessModes:
    41                - ReadWriteOnce
    42              resources:
    43                requests:
    44                  storage: {{ print $.Values.metaStorage "Gi" }}
    45        {{- end }}
    46      {{- else }}
    47      - name: broker
    48        componentDefRef: kafka-broker
    49        tls: {{ $.Values.tlsEnable }}
    50        {{- if $.Values.tlsEnable }}
    51        issuer:
    52          name: KubeBlocks
    53        {{- end }}
    54        replicas: {{ $.Values.brokerReplicas }}
    55        monitor: {{ $.Values.monitorEnable }}
    56        serviceAccountName: {{ include "kblib.serviceAccountName" . }}
    57        {{- include "kblib.componentResources" . | indent 6 }}
    58        {{- include "kblib.componentServices" . | indent 6 }}
    59        {{- if $.Values.storageEnable }}
    60        volumeClaimTemplates:
    61          - name: data
    62            spec:
    63              storageClassName: {{ $.Values.storageClassName }}
    64              accessModes:
    65                - ReadWriteOnce
    66              resources:
    67                requests:
    68                  storage: {{ print $.Values.storage "Gi" }}
    69          - name: metadata
    70            spec:
    71              storageClassName: {{ $.Values.metaStorageClassName }}
    72              accessModes:
    73                - ReadWriteOnce
    74              resources:
    75                requests:
    76                  storage: {{ print $.Values.metaStorage "Gi" }}
    77        {{- end }}
    78      - name: controller
    79        componentDefRef: controller
    80        tls: {{ $.Values.tlsEnable }}
    81        {{- if $.Values.tlsEnable }}
    82        issuer:
    83          name: KubeBlocks
    84        {{- end }}
    85        replicas: {{ $.Values.controllerReplicas }}
    86        monitor: {{ $.Values.monitorEnable }}
    87        serviceAccountName: {{ include "kblib.serviceAccountName" . }}
    88        {{- include "kblib.componentResources" . | indent 6 }}
    89        {{- if $.Values.storageEnable }}
    90        volumeClaimTemplates:
    91          - name: metadata
    92            spec:
    93              storageClassName: {{ $.Values.metaStorageClassName }}
    94              accessModes:
    95                - ReadWriteOnce
    96              resources:
    97                requests:
    98                  storage: {{ print $.Values.metaStorage "Gi" }}
    99        {{- end }}
   100      {{- end }}
   101      {{- if .Values.monitorEnable }}
   102      - name: metrics-exp
   103        componentDefRef: kafka-exporter
   104        replicas: {{ $.Values.monitorReplicas }}
   105        monitor: true
   106        {{- include "kblib.componentResources" . | nindent 6 }}
   107      {{- end }}