deploy-templates/templates/kafka-cluster.yaml (148 lines of code) (raw):

apiVersion: kafka.strimzi.io/v1beta2 kind: Kafka metadata: name: {{ .Values.cluster.name }} spec: kafka: template: pod: metadata: annotations: backup.velero.io/backup-volumes: data-0 sidecar.istio.io/inject: "false" labels: collect.logs: "plain-text" securityContext: {} podDisruptionBudget: maxUnavailable: 0 version: 3.0.0 replicas: {{ .Values.global.kafkaOperator.kafkaBrokers }} {{- if not .Values.global.disableRequestsLimits }} resources: limits: cpu: '2' memory: 4Gi requests: cpu: '1' memory: 2Gi {{- end }} listeners: - name: plain port: 9092 type: internal tls: false - name: tls port: 9093 type: internal tls: true authentication: type: tls config: transaction.state.log.replication.factor: {{ .Values.global.kafkaOperator.kafkaBrokers }} log.message.format.version: '3.0' {{- $logminisr := .Values.global.kafkaOperator.kafkaBrokers | int -}} {{- if lt $logminisr 2 }} transaction.state.log.min.isr: {{ .Values.global.kafkaOperator.kafkaBrokers }} {{ else }} transaction.state.log.min.isr: {{ sub .Values.global.kafkaOperator.kafkaBrokers 1 }} {{- end }} offsets.topic.replication.factor: {{ .Values.global.kafkaOperator.replicationFactor }} jvmOptions: "-XX": "UseG1GC": true "MaxGCPauseMillis": 20 "InitiatingHeapOccupancyPercent": 35 "ExplicitGCInvokesConcurrent": true "MetaspaceSize": "96m" "MinMetaspaceFreeRatio": 50 "MaxMetaspaceFreeRatio": 80 "G1HeapRegionSize": "16M" storage: type: jbod volumes: - id: 0 type: persistent-claim size: 20Gi deleteClaim: false class: {{ .Values.storageClass }} metricsConfig: type: jmxPrometheusExporter valueFrom: configMapKeyRef: name: kafka-metrics key: kafka-metrics-config.yml logging: loggers: log4j.logger.kafka.network.Processor: {{ .Values.kafka.logLevel }} log4j.logger.org.apache.zookeeper: {{ .Values.kafka.logLevel }} log4j.logger.kafka.request.logger: {{ .Values.kafka.logLevel }} log4j.logger.kafka.authorizer.logger: {{ .Values.kafka.logLevel }} log4j.logger.org.I0Itec.zkclient.ZkClient: {{ .Values.kafka.logLevel }} log4j.logger.kafka.server.KafkaApis: {{ .Values.kafka.logLevel }} log4j.logger.state.change.logger: {{ .Values.kafka.logLevel }} log4j.logger.kafka.log.LogCleaner: {{ .Values.kafka.logLevel }} log4j.logger.kafka.controller: {{ .Values.kafka.logLevel }} log4j.logger.org.apache.kafka: {{ .Values.kafka.logLevel }} log4j.logger.kafka: {{ .Values.kafka.logLevel }} type: inline kafkaExporter: template: pod: metadata: labels: collect.logs: "plain-text" groupRegex: ".*" topicRegex: ".*" zookeeper: metricsConfig: type: jmxPrometheusExporter valueFrom: configMapKeyRef: key: zookeeper-metrics-config.yml name: zookeeper-metrics-config logging: loggers: zookeeper.root.logger: {{ .Values.kafka.logLevel }} type: inline template: pod: metadata: annotations: backup.velero.io/backup-volumes: data sidecar.istio.io/inject: "false" labels: collect.logs: "plain-text" securityContext: {} podDisruptionBudget: maxUnavailable: 0 replicas: {{ .Values.global.kafkaOperator.zookeepers }} {{- if not .Values.global.disableRequestsLimits }} resources: limits: cpu: '1' memory: "1Gi" requests: cpu: '0.5' memory: "0.5Gi" {{- end }} storage: class: {{ .Values.storageClass }} type: persistent-claim size: 5Gi deleteClaim: false entityOperator: template: pod: metadata: labels: collect.logs: "plain-text" topicOperator: logging: loggers: rootLogger.level: {{ .Values.kafka.logLevel }} type: inline userOperator: logging: loggers: rootLogger.level: {{ .Values.kafka.logLevel }} type: inline